gjo*_*anv 4 osgi maven bnd maven-bundle-plugin java-10
使用 JDK 10 构建我的 OSGi 包时,maven-bundle-plugin (3.5.1) 生成以下清单属性:
Require-Capability: osgi.ee;filter:="(osgi.ee=UNKNOWN)"
Run Code Online (Sandbox Code Playgroud)
这在运行时失败:
Unresolved requirements: [[com.mycompany.mybundle [1](R 1.0)] osgi.ee; (osgi.ee=UNKNOWN)]
Run Code Online (Sandbox Code Playgroud)
使用 JDK 9 构建时,我得到了预期:
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=9.0))"
Run Code Online (Sandbox Code Playgroud)
我将 maven-compiler-plugin 的源和目标版本分别设置为“1.9”和“10”。
目前,我正在使用一种解决方法来阻止插件添加osgi.ee到清单:
<configuration>
<instructions>
<_noee>true</_noee>
</instructions>
</configuration>
Run Code Online (Sandbox Code Playgroud)
.. 但我宁愿有正确的 Java 10 要求。
您需要一个基于 Bnd 4.0 的更新版本的 maven-bundle-plugin,它增加了对 Java 10 类文件的支持。
| 归档时间: |
|
| 查看次数: |
2033 次 |
| 最近记录: |