2016-11-22 8 views
1

RCPアプリケーションの自動テストケースを実行している間に、次のエラーが示された。java.lang.NoClassDefFoundErrorが:JUnitの/フレームワーク/ TestListener

[java] Java Result: 13 

そして、スタックトレースは次のとおりです。

!MESSAGE Application error 
    !STACK 1 
    java.lang.NoClassDefFoundError: junit/framework/TestListener 
     at java.lang.ClassLoader.defineClass1(Native Method) 
     at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
     at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272) 
     at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632) 
     at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588) 
     at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540) 
     at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527) 
     at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324) 

... 

    Caused by: java.lang.ClassNotFoundException: junit.framework.TestListener cannot be found by org.apache.ant_1.9.6.v201510161327 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344) 
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 53 more 

Junit.jarはすでにクラスパスで使用可能です。

RCPアプリケーションに使用したEclipseバージョンはEclipse 4.5.2(Mars)で、Junitバージョンはjunit 4.12.0(org.junit_4.12.0.v201504281640)です。使用されるANTのバージョンは1.9.6(org.apache.ant_1.9.6.v201510161327)

+0

ボランティアのために[緊急ではありません](http://meta.stackoverflow.com/q/326569)こちらにお問い合わせください。彼らがそれに答えることを望むならば、彼らは余暇にそうするでしょう。 – halfer

答えて

0

Eclipse 4.5( https://bugs.eclipse.org/bugs/show_bug.cgi?id=485620)の問題でいくつかの作業が行われました。

Eclipseを4.6にアップデートすると役立ちます。

+0

4.6にeclipseを更新しないと他の方法はありませんか? –

+0

私は分かりません。ちょうどこれがあなたのeclipseの発行と更新を解決するかもしれないと言っているのは、大したことではない。 –

+0

私は4.6.2にeclipseを更新しましたが、Antからテストケースを実行しているときにも同じエラーが発生しています。 –

0

これは、または回答であってもなくてもよい...

私の経験では、Eclipse 4.4.1のための私達のPDEビルドのために、私たちはeclipse-test-framework-3.6を使用していたということでした。 Eclipse 4.6.2にアップグレードするときに、(4.6.2 - Eclipse Project Downloadsからダウンロード)を使用するように変更しました。これにより、org.eclipse.test_3.3.0/library.xmlファイルが見つかりませんでした - this usageに必要なファイルがありました - そのため、3.6.2テストフレームワークを4.6.2テストフレームワークをテストに使用しているEclipseプラットフォームのdropinsフォルダに追加しました。 2つのテストスイートがあり、2つ目のスイートを実行すると、私にはjava.lang.ClassNotFoundException: junit.framework.TestListener cannot be found by org.apache.ant_1.9.6.v201510161327の例外が与えられます。私は、プラグインが追加/解決されたことと、そのためにキャッシュされる依存関係と設定と何か関係があると思いました。だから私は、eclipse/p2eclipse/configurationディレクトリをクリアし、すべてのスイートを実行する前に新しいコピーを取るように私たちのアリテストのターゲットを変更しました。これは確かに完全なハックですが、うまくいくようです。

関連する問題