【发布时间】:2012-11-16 18:32:23
【问题描述】:
我有一段时间使用 Equinox 作为 osgi 框架的应用程序。到目前为止,我使用系统属性 osgi.install.area 来指定我的捆绑包的位置
${osgi.install.area}/
plugins/
org.eclipse.osgi_3.7.0.v20110613.jar
... my app bundles
Equinox 然后自动使用${osgi.install.area}/configuration 作为配置区域。
一切正常。
现在我需要将配置区域移出${osgi.install.area},因为这可能是只读的,我认为就像将${osgi.configuration.area} 设置为合适的路径一样简单,但是当我这样做时,应用程序不再启动并且我在日志中有以下堆栈跟踪:
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at org.eclipse.core.runtime.adaptor.EclipseStarter.main(EclipseStarter.java:150)
...
使用路径是因为在该位置创建了日志文件和目录"org.eclipse.osgi"。
我的config.ini 中引用了捆绑包的路径,如下所示:
osgi.bundles=de.mycomp.app-0.6.0.20121116-1834.jar@start, ...
错误消息并没有真正提示在哪里查看。这一定是一些相当简单的事情,但我现在很无能为力。
提前致谢,
罗伯特
【问题讨论】: