1
我正在尝试安装并将外部程序包加载到简单的Equinox应用程序。使用Require-Bundle启动一个osgi包失败:org.eclipse.core.runtime; bundle-version =“0.0.0”
的目标束从一组插件的到来为这里提供日食:
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: org.eclipse.core.runtime,org.rodinp.core;visibility:=r
eexport,org.eventb.core.ast;visibility:=reexport,org.eventb.core.seqp
rover;visibility:=reexport
关于是否是版本问题,在Require-Bundle中没有指定版本意味着任何版本的核心捆绑包都可以工作。错误信息中的“0.0.0”表示相同的事情;任何版本为0.0.0或更高版本的软件包(换句话说,任何版本)都可以实现。 – 2012-03-20 18:45:44
我找到了解决方案:我期待着equinox的一些东西,但它清楚地表示'org.eclipse.core.runtime'是Eclipse的一部分,而不是Equinox。 – Kartoch 2012-03-20 21:03:21