设置osgi.configuration.area会中断我的Equinox osgi应用程序
我有一个应用程序使用Equinox作为osgi框架已经有一段时间了。到目前为止,我使用系统属性osgi.install.area来指定捆绑包的位置设置osgi.configuration.area会中断我的Equinox osgi应用程序,osgi,equinox,Osgi,Equinox,我有一个应用程序使用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作为配置区域 一切正常 现在,我需要将配置区域移出${os
${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”
捆绑包的路径在myconfig.ini
中引用,如下所示:
osgi.bundles=de.mycomp.app-0.6.0.20121116-1834.jar@start, ...
错误消息并没有真正给出在哪里查找的提示。这一定很简单,但我现在还不太明白
提前感谢,
Robert我测试了如何更改现有osgi应用程序的配置区域,它成功了,安装根目录下的
.ini
文件中有以下参数。是否确实正确设置了配置参数,如下所示:
-Dosgi.configuration.area=c:\mytest
完成此操作并再次运行应用程序后,它创建了文件夹和新配置
这是我的.ini
文件的一个副本,它可以正常工作,而且osgi参数必须位于和vm参数之后
-loglevel=trace
-vmargs
-Dosgi.configuration.area=c:\mytest
-Dorg.osgi.service.http.port=8094
-Declipse.ignoreApp=true
-Dosgi.noShutdown=true
-Dequinox.ds.print=true
我有一个非常相似的问题。你能帮我吗?