我正在尝试构建OSGi包,以便在Equinox和Felix中使用。 我的一些捆绑包使用javax。*包,例如javax.net。
JRE提供了这个包,没有问题,它适用于两个框架。
Felix要求我在MANIFEST.MF中导入该包:
Import-Package: javax.net
这是有道理的,因为只应隐式包含java。*包。 出于某种原因,Equinox无论如何都很好,无论如何它似乎神奇地找到它们。
当我用Tycho构建时,我的问题就来了。 添加Import-Package时,Tycho构建失败:
Resolution errors: Bundle com.dexels.mybundle - Missing Constraint: Import-Package: javax.net; version="0.0.0"
简而言之:如果没有导入包,Felix就会失败,因为Tycho失败了。
我知道这个kind of workaround使用系统包片段,但我真的希望我不需要诉诸于此。
有没有办法将这些包添加到Tycho?
我可以使用类似org.osgi.framework.system.packages.extra吗?
谢谢,弗兰克
答案 0 :(得分:3)
如果使用提供此程序包的JDK指定Bundle-RequiredExecutionEnvironment标头,则tycho应该能够解析该程序包。
您可能会遇到https://bugs.eclipse.org/bugs/show_bug.cgi?id=371565
如果是这样,您将需要tycho 0.15.0,请参阅http://wiki.eclipse.org/Tycho/Release_Notes/0.15