プロジェクトの 1 つに奇妙な問題があります。OSGi 環境で JUnit テストを実行しようとしています (テストは osgi bundle によってホストされているフラグメントにあります。操作は Eclipse の「JUnit Plug-in Test」ランチャーで起動されます)。テストを開始しようとすると、次のエラーが発生します。
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 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
An error has occurred. See the log file
上記のログでは、次のことも取得します。
!ENTRY org.eclipse.osgi 2 0 2012-08-22 13:53:24.058
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2012-08-22 13:53:24.059
!MESSAGE Bundle reference:file:/C:/.../plugins/org.eclipse.pde.junit.runtime_3.4.200.v20120530-1435.jar was not resolved.
!SUBENTRY 2 org.eclipse.pde.junit.runtime 2 0 2012-08-22 13:53:24.059
!MESSAGE Missing required bundle org.eclipse.core.runtime_[3.3.0,4.0.0).
ただし、org.eclipse.core.runtime
利用できるようです (Eclipse は問題なく実行されており、OSGi の実行を使用してプロジェクトを起動できます)。「Eclipse インストールの詳細」によると、コア ランタイムのバージョンは 3.8.0.v20120521-2346 で、junit が必要とする正しい範囲内にあります ( [3.3.0,4.0.0)
)。
私はまた、別のプロジェクトに対して同じ種類のテストを実行できる他の同一のEclipse(同じバージョンなど...同じ.zipアーカイブからのもの)を持っています。構成を確認しましたが、違いは見つかりませんでした。したがって、現在、この問題の原因を理解できません。
それを解決するのに役立つアイデアを前もって感謝します。