我们有一个大型 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)并设置了一个无头构建环境。我们使用与以前相同的产品/功能文件,但现在我们得到了未解决的使用指令并且构建失败。环境看起来很正常,因为我们可以毫无问题地构建无头的其他(较小的)应用程序。
挖掘一些问题,我们看到其中一些是指未解决的可选导入......据我了解,他们不应该抱怨。例子:
[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 跳过这种检查?
先感谢您!