我们有一个大型OSGi项目,包含一些自己的捆绑包和数百个第三方捆绑包。
在对依赖项进行一些调整之后,我们能够生成正确运行的有效启动配置和正确构建的产品/功能配置(通过Eclipse Luna的IDE)并生成有效的可执行文件。 到目前为止,IDE PDE构建非常好。
现在我们想以无头的方式运行构建。我们已经按照Eclipse Luna(http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Ftasks%2Fpde_feature_build.htm)的教程进行操作,并设置了无头构建环境。我们使用与以前相同的产品/功能文件,但现在我们得到了未解决的使用指令,并且构建失败。 环境看起来很清醒,因为我们可以毫无问题地构建无头的其他(较小的)应用程序。
挖掘一些问题,我们已经看到其中一些涉及OPTIONAL进口未解决......据我所知他们不应该抱怨。 例如:
[java] C:\Program Files\eclipse_Luna\plugins\org.eclipse.pde.build_3.9.0.v20140415-2029\scripts\genericTargets.xml:
111: Processing inclusion from feature snapp.feature: Bundle org.apache.servicemix.bundles.jaxb-impl_2.2.1.1_2 failed to
resolve.:
[java] Package uses conflict: Import-Package: javax.xml.bind; version="[2.2.0,3.0.0)"
[java] Package uses conflict: Import-Package: javax.xml.bind.attachment; version="[2.2.0,3.0.0)"
[java] Package uses conflict: Import-Package: javax.xml.bind.helpers; version="[2.2.0,3.0.0)"
[java] Unsatisfied import package org.jvnet.staxex_0.0.0.
由于我们有成千上万的第三方使用指令,当然我们不会破解所有相关捆绑包的清单......
为什么无头构建对使用指令如此挑剔?有没有办法指示无头PDE跳过这种检查?
提前谢谢!