Maven-bundle-plugin:osgi.ee =未知

时间:2018-07-02 14:16:11

标签: maven osgi java-10 bnd maven-bundle-plugin

当使用JDK 10构建OSGi捆绑软件时,maven-bundle-plugin(3.5.1)会生成以下清单属性:

Require-Capability: osgi.ee;filter:="(osgi.ee=UNKNOWN)"

这会使运行时失败:

Unresolved requirements: [[com.mycompany.mybundle [1](R 1.0)] osgi.ee; (osgi.ee=UNKNOWN)]

使用JDK 9进行构建时,我得到了预期的结果:

Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=9.0))"

我将maven-compiler-plugin的源版本和目标版本分别设置为“ 1.9”和“ 10”。

此刻,我正在使用一种解决方法来阻止该插件将osgi.ee添加到清单中:

<configuration>
  <instructions>
      <_noee>true</_noee>
  </instructions>
</configuration>

..但是我希望有正确的Java 10要求。

1 个答案:

答案 0 :(得分:2)

您需要基于Bnd 4.0的最新版本的maven-bundle-plugin,该版本增加了对Java 10类文件的支持。