しばらくの間、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, ...
エラーメッセージは、実際にどこを見ればよいかについてのヒントを提供しません。それはかなり単純なものに違いないが、私は今のところかなり無知である。
前もって感謝します、
ロバート