我正在尝试安装外部捆绑并将其加载到简单的equinox应用程序。
目标捆绑包来自eclipse的一组插件:
http://sourceforge.net/projects/rodin-b-sharp/files/Core_Rodin_Platform/2.4/(rodin-2.4-dev.zip
)。
当我开始昼夜平分点时:
$ java -jar org.eclipse.osgi_3.7.1.R37x_v20110808-1106.jar -console
我可以安装它
osgi> install file:///path_to/rodin-2.4-dev/org.eventb.core_2.4.0.r14093.jar
Bundle id is 1
但是当我开始时我有一个例外:
osgi> start 1
org.osgi.framework.BundleException: The bundle "org.eventb.core_2.4.0.r14093 [1]"
could not be resolved. Reason: Missing Constraint: Require-Bundle:
org.eclipse.core.runtime; bundle-version="0.0.0"
有谁知道如何解决此错误?
也许它与捆绑包不包含org.eclipse.core.runtime
版本的事实有关,因为MANIFEST.MF具有以下Require-Bundle:
Require-Bundle: org.eclipse.core.runtime,org.rodinp.core;visibility:=r
eexport,org.eventb.core.ast;visibility:=reexport,org.eventb.core.seqp
rover;visibility:=reexport
答案 0 :(得分:5)
正如您所注意到的那样,bundle对运行时核心有一个要求。安装只是安装捆绑包,并不意味着它是有效的。您可以通过diag
命令检查捆绑包的状态,即osgi> diag 1
需要将状态解析为可运行。我敢打赌它只是为你安装状态。查看Dude, where's my bundle以获取有关捆绑及其状态的更多信息。