可以运行 Equinox 并以启动级别 1 启动所有包。使用以下启动配置可以按预期工作:
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -console -clean"/>
<stringAttribute key="target_bundles" value="org.apache.felix.gogo.command@1:true,org.apache.felix.gogo.runtime@1:true,org.apache.felix.gogo.shell@1:true,org.eclipse.equinox.console@1:true,org.eclipse.osgi@-1:true"/>
请记住,Eclipse 在其产品发布时缓存了很多东西,并且由于它没有摆脱发布之间的工作空间,因此经常会出现错误。这有时会导致您在上面看到的错误。您可以删除启动配置,该配置也会清理相关文件夹,然后再将其重新添加。
要验证这是否按预期工作,请创建一个新的运行时配置作为 OSGi 框架并添加四个包,启动级别为 1,自动启动为 true。
请注意,该org.eclipse.osgi
包是框架包,并且应该具有 -1 的起始级别以指示默认值;也许这就是你看到的问题。