Weld-osgi-bundle-2.2.10。最终无法解决sun.misc

时间:2015-04-13 21:28:04

标签: java osgi apache-felix weld

我正在尝试将weld-osgi-bundle安装到apache felix,我得到了这个异常 -

org.osgi.framework.BundleException: Unresolved constraint in bundle org.jboss.weld.osgi-bundle [15]: Unable to resolve 15.0: missing requirement [15.0] osgi.wiring.package; (osgi.wiring.package=sun.misc)
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4097)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2114)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:964)

我知道的唯一方法是将它放在Felix配置的Constants.FRAMEWORK_SYSTEMPACKAGES中,因为JDK提供了这个包。像这样:

String SYSTEM_PACKAGES = "sun.misc";
configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, SYSTEM_PACKAGES);

但是,如果我按照这种方式,我将不得不导出所有使用过的javax等包。怎么解决这个问题?我试图找到osgi捆绑sun.misc但不能。

1 个答案:

答案 0 :(得分:1)

FRAMEWORK_SYSTEMPACKAGES替换为FRAMEWORK_SYSTEMPACKAGES_EXTRA。这会附加到系统包导出,而不是覆盖它们。