129

Eclipse で JUnit テストを実行すると、次のエラーが発生します。

Class not found com.myproject.server.MyTest
java.lang.ClassNotFoundException: com.myproject.server.MyTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    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)

Mavenを使用していますが、クラスパスにライブラリを追加しようとしましJUnitたが、JUnitライブラリはPOM依存関係にあります。

私はすでにプロジェクトのクリーニングを試み、Eclipse 用の JUnit プラグインを使用して新しい JUnit テスト ケースを作成しましたが、それでも同じエラーが発生します。

4

25 に答える 25

137

これは、使用時にソースコードのみがコンパイルされるために発生するようmvn clean compileです (私は maven 3.1.0 を使用しているため、常にこのように動作するかどうかはわかりません)。

を実行するmvn testと、テスト コードもコンパイルされますが、テストが実行されます (Eclipse を使用して実行しようとしている場合、これはすぐには望ましくない場合があります) test-compile。あなたはするmvn clean。たとえば、実行しますmvn clean compile test-compile

于 2013-07-21T02:58:13.880 に答える
116

テストで同様の問題が発生し、Web のどこかで、プロジェクトのプロパティでBuild Pathに移動し、 Maven DependenciesをJRE System Libraryの上に移動する必要があることがわかりました。それは私のために働いたようです。

于 2012-11-14T09:05:33.277 に答える
18

この問題が Eclipse でのみ発生する場合は、選択したプロジェクトでコマンド Project -> Clean... を実行すると解決する場合があります。

于 2016-03-04T06:57:47.937 に答える
11

ここですべてを試しても改善が見られなかった後、Eclipseを再起動するだけで問題を解決しました

于 2015-09-28T07:40:22.207 に答える
4

私の場合、maven のディレクトリ構造が間違っていました。

次のようになります。

/src/test/java/com.myproject.server.MyTest _

それを修正した後、すべてが魅力的に機能しました。

于 2015-10-06T15:47:43.310 に答える
1

以前、この場合、私は常に mvneclipse:eclipseを実行して Eclipse を再起動しましたが、うまくいきました。GIT に移行した後、動作が停止しました。これはやや奇妙です。

ここでの基本的な問題は、Eclipse 氏がコンパイル済みのクラスを見つけられないことです。次に、出力フォルダーを Project/target/test-classes として設定します。これは、デフォルトmvn clean installでテストをスキップせずに生成され、次の回避策に進みました。

オプション 1: 各テスト ケースのクラスパスを設定する

Eclipse -> 実行 -> 実行構成 -> JUnit の下 -> mytest を選択 -> クラスパス タブの下 -> ユーザー エントリの選択 -> 詳細設定 -> フォルダーの追加 -> 選択 -> 適用 -> 実行

オプション 2: クラスパス変数を作成し、すべてのテスト ケースのクラスパスに含める

Eclipse -> Windows -> クラスパス変数 -> 新規 -> [名前: Junit_test_cases_cp | path : ]->ok 次に、Eclipse->Run->Run Configurations->JUnit->select mytest->classpath タブの下に移動->Select User Entries->Advanced->Add classpath variables->Select Junit_test_cases_cp->ok- >適用->実行

オンラインですべての提案を試した後、これが現在私のために働いている唯一のものです。

于 2014-04-08T08:20:45.533 に答える
0

1- mvn 日食:日食

2-すべてのプロジェクトをきれいにするプロジェクト

3-再起動

于 2015-04-09T11:56:50.733 に答える
0

これらの手順はうまくいきました。

  • ローカルの Maven リポジトリのコンテンツを削除します。
  • コマンドラインでmvn clean installを実行します。(pom ディレクトリに移動します)。
  • Eclipse でプロジェクトをビルドします。
于 2015-03-03T10:10:45.190 に答える
0

Mavenを使用しないプロジェクトの場合:これは私にとってはうまくいきましたhttps://ihategeek.wordpress.com/2012/04/18/eclipse-junit-test-class-not-found/

jre と project src を Order の一番下に追加し、build path に exports を追加する

于 2019-10-11T18:57:31.900 に答える
-6

Main クラスTest Case クラスを /src/test/javaに配置するのを忘れている可能性があります。一度確認してください。

于 2014-08-22T09:42:00.477 に答える