Websockets捆绑对sun.misc的依赖

时间:2015-10-23 00:28:23

标签: osgi apache-felix osgi-bundle grizzly

我正在尝试使用Grizzly Websockets包创建基于Websockets的应用程序。我在使用Bndtools的Apache Felix中这样做。

不幸的是,我似乎拥有所有必需的依赖项,但由于以下失败,Grizzly捆绑包无法加载:

{{1}}

我已经研究过这个失败,最初在寻找一个捆绑包,但却发现这显然是某种真正不需要的JVM库。我见过涉及在conf / config.properties文件中添加一行的变通方法和解决方案:

{{1}}

我知道这是一个危险的解决方法,并且有传言称这个问题“更安全”。它们都涉及对标签或config.properties文件进行更改。

不幸的是,在Bndtools环境中,显然没有这样的标签或文件供我编辑!

或者,至少,我在Bndtools项目中找不到这些东西。

有没有办法在基于Bndtools的项目中解决这个“sun.misc”问题?我正在使用Bndtools存储库,我想知道我需要编辑哪些“bnd”文件,以及放入这些文件的内容。

有人请指教......

2 个答案:

答案 0 :(得分:5)

您需要将-runsystempackages: sun.misc添加到bnd / bndrun文件中。

答案 1 :(得分:0)

最好的工具是https://codepen.io/anon/pen/jeXMBK?editors=1100#0

您只需在gradle.properties中更改PKG = sun.misc(或其他软件包)并运行gradlew build。

它将生成bundle-fragment,您可以将其添加到类路径中。 然后,该捆绑包包含:

Manifest-Version: 1.0
Export-Package: sun.misc
Fragment-Host: system.bundle; extension:=framework
Bundle-ManifestVersion: 2
Bundle-License: public domain - http://unlicense.org/
Bundle-SymbolicName: com.diffplug.osgi.extension.sun.misc
Bundle-Version: 0.0.0