【问题标题】:OSGI: while creating JUnit Plug-in Test strange errors occurredOSGI:在创建 JUnit 插件测试时发生奇怪的错误
【发布时间】:2012-07-17 07:30:22
【问题描述】:

当我为 JUnit Plug-in Tests(在 Eclipse 中)创建新的启动器、设置捆绑包依赖项(包括 com.springsource.org.junit)并运行启动器时,它失败并出现关于未解决的异常org.junit4_4.5.0.v20090824(缺少所需的捆绑包org.hamcrest.core_1.1.0) .所以我有下一个问题:

  1. 如果我在依赖项中有com.springsource.org.junit,需要这个捆绑包做什么?
  2. 如果可能,我怎样才能摆脱这个捆绑包?
  3. 如果无法解决这个问题,我该如何解决?

谢谢。

【问题讨论】:

    标签: java eclipse eclipse-plugin osgi


    【解决方案1】:

    OSGi 无法解析包 org.hamcrest.core_1.1.0。这就是您收到错误消息的原因。我有两个建议来解决这个问题。

    转到 JUnit 插件测试运行配置中的插件选项卡。那里只选择您的测试所需的捆绑包。

    1) 要获取所有必需的捆绑包(以及引用的捆绑包),请单击按钮添加所需的插件

    2) 在开始测试时,您还必须确保所有捆绑包/插件都已启动。在 插件 标签中将 Default Auto-Start 设置为 true。然后所有捆绑包都开始测试。您还可以手动配置要启动的捆绑包。

    3) 为了检查您的所有捆绑软件是否都已正确启动,请使用程序参数 -console 开始您的测试,然后在控制台中输入 ss。这将为您提供所有捆绑包的概览。

    【讨论】:

    • 我是这样做的,但 bundle org.junit4_4.5.0.v20090824 甚至不存在(在插件中)。也许不知何故日食将其设置为我的依赖?
    • 嗯,它一定是你的目标平台的一部分,因为 eclipse/osgi 试图解决它。无论如何,org.junit4_4.5.0.v20090824 并没有丢失。缺少包 org.hamcrest.core_1.1.0。您是否尝试过手动添加?
    • 这些包位于文件夹 Eclipse/plugins/ 中。他们在那里!名称如 org.hamcrest.core_1.1.0.v20090501071000.jar。但是在eclipse视图Plug-ins中没有org.hamcrest.core_1.1.0 bundle。
    • 好的,请确保您在“启动方式:”组合框中选择了“仅在下面选择的插件”,并且您在插件选项卡中未选中“仅显示已选择” .如果插件仍然缺失,请尝试配置您的目标平台。打开 eclipse 首选项并在 Plug-in Development > Target Platform 下检查您的目标平台。目标平台是您的包/插件启动的环境。
    • 我选择了“仅在下面选择的插件”。我的目标平台没问题。这很奇怪。
    【解决方案2】:

    好的,我想我有一个解决方案。

    从 MANIFEST 的依赖项选项卡中删除所有 junit 插件。 搜索 org.hamcrest。如果你在 eclipse/plugins 目录中有 hamcrest,它现在会显示出来。

    添加 Junit,然后添加 hamcrest..

    希望对你有帮助……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 2020-04-08
      相关资源
      最近更新 更多