当前位置: 首页 > 知识库问答 >
问题:

如何与Tycho构建Felix兼容的OSGi捆绑包?

林涵映
2023-03-14

我正在尝试构建OSGi捆绑包,用于Equinox和Felix。我的一些捆绑包使用javax。*包,例如javax。网

JRE提供了这个包,没有问题,它可以在两个框架中工作。

Felix要求我在清单中导入该包。MF:

Import-Package: javax.net

这是有道理的,因为只有java。*包应该隐式包含。出于某种原因,无论哪种方式,春分都很好,它似乎神奇地找到了它们。

当我和第谷一起建造时,我的问题就来了。当我添加导入包时,第谷构建失败:

Resolution errors:
   Bundle com.dexels.mybundle - Missing Constraint: Import-Package: javax.net; version="0.0.0"

简而言之:如果没有导入包,Felix会失败,Tycho也会失败。

我知道这种使用系统包片段的解决方法,但我真的希望我不需要求助于此。

有没有办法将这些软件包添加到第谷?

我能用org.osgi.framework.system.packages.extra?

谢谢,弗兰克

共有1个答案

寇开畅
2023-03-14

如果使用提供此包的JDK指定Bundle RequiredExecutionEnvironment头,tycho应该能够解析该包。

你可能会遇到https://bugs.eclipse.org/bugs/show_bug.cgi?id=371565

如果是这样,你将需要第谷0.15.0,见http://wiki.eclipse.org/Tycho/Release_Notes/0.15

 类似资料:
  • 我试图在Felix中添加一个新的OSGI包(没有Karaf)作为ActiveMQ客户端(消息发送方)。 ActiveMQ客户端在非OSGI环境中运行良好。但当我在Felix中使用相同的代码(稍加修改)时,它会抛出以下错误: org.osgi.framework.捆绑异常:无法解决com.packtpub.felix.bookshelf-库存-impl-mock[7](R 7.3):缺少需求[com

  • 我是OSGi的新手。我正在使用Apache Felix。我已经构建了一个捆绑包,并且具有依赖性。当我尝试使用启动它会给我这个错误。 org . OSGi . framework . bundle exception:无法解析lk . ucsc . research . belly runner[20](R 20.0):缺失需求[lk . ucsc . research . belly runner

  • 我有几个OSGi捆绑包,它们是在Eclipse中使用普通清单管理依赖项和Maven Tycho的外部构建构建构建的。 在Equinox上运行Eclipse内部的捆绑包工作正常。用第谷建造它们效果很好。 现在我想使用Tycho Surefire运行集成测试,为此我创建了一个简单的测试包,其中包含一些基本测试。测试中的bundle依赖于OSGi容器中的其他bundle和一些小的启动级别调整,以便正确运

  • 问题内容: 如何从jar库创建OSGi捆绑包? 问题答案: 如果您使用的是eclipse:有一个向导。 它允许您选择许多jar库,并创建一个包含这些jar的插件项目(即OSGi捆绑包)。 你可以在这里找到它:

  • 我使用EclipseIndigo使用OSGiJava框架开发了一些包。有一个主捆绑包,它依赖于其他捆绑包,并且具有要运行的主程序。如果我尝试在Eclipse中运行所有捆绑包,一切都正常工作,但是如果我将每个捆绑包保存为一个JAR,并在命令行中启动OSGi框架,当我尝试启动主捆绑包时,会出现异常<code>NoClassDefFoundError。找不到的类是依赖项。包的其余部分处于活动状态,主包刚

  • 场景:我将尝试与EIP手册中的贷款经纪人示例进行类比 客户发送报价请求 (贷款经纪人向信贷局索取客户信用评分) 贷款经纪人向每家银行发送报价请求 问题 在我的例子中,点1和2处于相同的骆驼上下文(或osgi束) 每个银行都有一个单独的捆绑包,通过核磁共振将endpoint暴露给贷款经纪人捆绑包 贷款经纪捆绑包不知道银行的事先,因为我们不断与新的银行合作,然后 我做过的事 创建了一个注册表类,并在l