【问题标题】:How to build Felix compatible OSGi bundles with Tycho?如何使用 Tycho 构建与 Felix 兼容的 OSGi 包?
【发布时间】:2012-05-07 02:14:08
【问题描述】:

我正在尝试构建用于 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 也会失败。

我知道这个 kind of workaround 使用系统捆绑片段,但我真的希望我不需要诉诸于此。

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

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

谢谢,弗兰克

【问题讨论】:

    标签: osgi equinox apache-felix tycho


    【解决方案1】:

    如果你用提供这个包的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

    【讨论】:

    • 太棒了,就像一个魅力!我确实需要升级到 0.15.0-SNAPSHOT。非常感谢,简
    猜你喜欢
    • 1970-01-01
    • 2015-05-13
    • 2018-05-14
    • 2013-12-25
    • 2016-07-16
    • 1970-01-01
    • 2014-12-19
    • 2015-04-17
    • 2013-10-09
    相关资源
    最近更新 更多