4

我正在尝试构建用于 Equinox 和 Felix 的 OSGi 包。我的一些包使用 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 失败。

我知道这种使用系统捆绑片段的解决方法,但我真的希望我不需要诉诸于此。

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

我可以使用 org.osgi.framework.system.packages.extra 之类的东西吗?

谢谢,弗兰克

4

1 回答 1

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

于 2012-04-26T19:04:16.170 回答