我有一个基于Eclipse RCP的应用程序,它依赖于需要sun.misc
的bundle。在开始时,它没有解决,因为它找不到包:
id State Bundle
150 INSTALLED org.diirt.support.diirt-pva_3.1.6.20170118092719
osgi> start 150
gogo: BundleException: Could not resolve module: org.diirt.support.diirt-pva [150]
Unresolved requirement: Import-Package: org.epics.pvaccess; version="[4.1.0,5.0.0)"
-> Export-Package: org.epics.pvaccess; bundle-symbolic-name="org.epics.pvAccessJava"; bundle-version="4.1.3"; version="4.1.3"; uses:="org.epics.pvdata.pv"
org.epics.pvAccessJava [307]
Unresolved requirement: Import-Package: sun.misc
同时,内置产品的插件目录中的为com.diffplug.osgi.extension.sun.misc_0.0.0.jar
。这提供了包sun.misc
:
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
但是,应用程序启动时不会加载:
osgi> ss diff
"Framework is launched."
id State Bundle
为什么这个必需的包没有加载?
顺便提一下,此插件是产品中包含的功能所必需的。
答案 0 :(得分:0)
据我所知,sun.misc应该可以解析为com.diffplug.osgi:com.diffplug.osgi.extension.sun.misc:0.0.0 也许你可以尝试将它添加到你的项目中?