迁移到 JDK 9+ 后,我们围绕 apache Felix 构建的 OSGi 容器开始无法安装扩展包。错误信息是:
Caused by: org.osgi.framework.BundleException: Could not create bundle object.
at org.apache.felix.framework.Felix.installBundle(Felix.java:3095)
...
Caused by: java.lang.UnsupportedOperationException: Unable to add extension bundle.
at org.apache.felix.framework.ExtensionManager.addExtensionBundle(ExtensionManager.java:439)
at org.apache.felix.framework.Felix.installBundle(Felix.java:3061)
...
我们的 Felix 版本是 5.6.10,这是目前可用的最新版本。捆绑清单的相关部分:
Created-By: Apache Maven Bundle Plugin
Fragment-Host: system.bundle; extension:=framework
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=9.0))"
Tool: Bnd-3.5.0.201709291849