2010-11-30 39 views
0

Googleにはいくつかの回答がありますが、それはすべてMavenを使用する人向けです。私はMavenを使用していないので、私は困惑しています。 AspectJプラグインを使用していない他のプロジェクトがあり、JUnitテストはEclipseでうまく動作します。なぜEclipseがクラスを見つけることができないのか分かりません。クラスそのものを右クリックし、JUnitテストとして実行するように指示します。私の非AspectJプロジェクトのJUnitテストでも動作します。誰でも助けることができますか?EclipseのAspectJプロジェクトでのJUnitテストのClassNotFoundException

Class not found BasicSpectrogramPeriodogramTests 
java.lang.ClassNotFoundException: BasicSpectrogramPeriodogramTests 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
+1

あなたはスタックトレースを提供してくださいすることができ

お役に立てば幸いですか! – DeliveryNinja

+1

ClassNotFoundException?どのクラスのエラー.... Eclipseはあなたに何を与えるのですか? –

答えて

0

AspectJプラグインは、ビルドクラスパスに影響する可能性がありますが、ランタイムクラスパスには影響しない可能性があります。クラスのランチャーエントリを作成し、クラスパスを明示的に設定してjarをインクルードします。

Eclipseの「ロードタイプ」機能を使用して、クラスのロード先を確認します。

Ctrl-Space-Tはダイアログをプルアップします。ターゲットクラス名 "BasicSpectrogramPeriodogramTests "を入力します。ワークスペースにパッケージ名と場所が表示されます。パッケージ名は、リストされているすべてのクラスのクラス名の右側に表示されるか、選択されたクラスのダイアログの最下部に表示されます。 jarとそのパスがEclipseによってロードされている場合、これにはjarとそのパスが含まれます。

クラスのパスが実行時設定クラスパスのパスであることを確認してください。クラスパスの最上部に明示的に追加してください。

+0

ランチャーエントリを作成することで何を意味するのかよく分かりません。私はJUnitテストケースとしてクラスの実行コンフィギュレーションを持っています。どの瓶はあなたを指していますか? JUnit-4.5.jarをクラスパスに追加しようとしましたが、何も変更されませんでした。それはデフォルトのクラスパスにもリストされていました。 – smuggledPancakes

+0

実行コンフィギュレーションは、ランチャが意味するものです。 jarは、このケースでは "BasicSpectrogramPeriodogramTests"例外で言及されたクラスを含むjarを意味します。私はAspectJやJUnit-4.5に慣れていないので、特定のjarにそのクラスが含まれているかどうかわかりません。 –

+0

クラスを含むプロジェクトはクラスパスにあります。私はクラスを含む瓶がありません。 – smuggledPancakes

1

以前は同様の問題に直面していました。問題は、外部ライブラリ(例:Seleniumサーバー)へのビルドパスが壊れていたためです。まず最初に、Build path(プロジェクトを右クリック - > Build Path - > Build Pathを設定)を開いて、すべての外部ライブラリを正常にロードできることを確認してください。ほとんどの場合、最適化やAntのような外部ツールの追加中に、ライブラリの名前が変更/移動された可能性があります。これは、人々がよりよく問題が何であるかを診断することができるようにWBR、アンドレイ

関連する問題