58

(プロパティファイルが正しくロードされることを確認するために)junitテストを実行しようとしていますClassNotFoundExceptionが、クラスがあり、必要なすべてのライブラリもありますが、取得します。

これが私が得るエラーです:

Class not found ConfigurationManagerTest                                                 java.lang.ClassNotFoundException: ConfigurationManagerTest
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    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)

これを修正する方法についてのアイデアはありますか?

ありがとう。

4

26 に答える 26

41

ConfigurationManagerTestクラスパスで見つかりません。ConfigurationManagerTest.classファイルがクラスパスで使用可能で あることを確認してください。

正常にコンパイルされなかった場合、または Eclipse プロジェクトがクラスパス上にある必要があると指示していないディレクトリに作成されている場合は、存在しない可能性があります。

テスト クラスを別のフォルダーに配置した場合、それが (「ナビゲーター」ビューではなく) 「パッケージ エクスプローラー」ビューに表示されることを確認してください。

プロジェクトのプロパティ、[Java ビルド パス] および [ソース] タブで、ソース フォルダーがビルドに含まれているかどうか、および .class ファイルが生成される場所も確認できます。

于 2011-04-19T15:05:27.940 に答える
24

もう1つの可能性があります。私は今同じ問題を抱えていましたが、ここでの解決策はどれも役に立ちませんでした。プロジェクトの削除と再作成を除いて、試したくありませんでした。助けになったのは、プロジェクトをすぐに2回、次々ときれいにすることでした! クリーン + ビルドは何度でも繰り返すことができますが、役に立ちません。クリーン+クリーンのみで、その後ビルドはOKです。(Eclipse 3.6)。もちろん、そのためには autobuild を無効にする必要があります。

編集: この投稿は、2017 年 11 月 15 日に最後のプラスになりました。したがって、問題 (および解決策) は実際のままです。

于 2013-03-14T11:50:49.543 に答える
4

もう 1 つの考えられる問題は、ビルダーが見つからないことです (これにより、.class ファイルがビルドされなくなります)。

.project ファイルに次の行があることを確認します

<buildSpec>
  <buildCommand>
    <name>org.eclipse.jdt.core.javabuilder</name>
    <arguments>
    </arguments>
  </buildCommand>
</buildSpec>
<natures>
  <nature>org.eclipse.jdt.core.javanature</nature>
</natures>
于 2012-04-12T18:55:19.200 に答える
3

これは、テスト クラスを別のパッケージにドラッグ アンド ドロップしているときに発生しました。私はちょうど次のことをしました

  1. クラスをテキスト エディターに保存しました。
  2. 問題のあるクラスを Eclipse プロジェクト エクスプローラーから削除しました。
  3. クラスを再作成しました。

ビンゴ!これでテストを実行できます。

于 2012-04-17T14:11:46.390 に答える
2

私はこの問題を抱えていて、何が悪いのかを理解するのはちょっと難しいことでした。プロジェクトにエラーのある依存関係プロジェクトがあり、ビルドの実行が停止しました。この依存関係の問題を取り除くと、プロジェクトは期待どおりにビルドされました。

追伸:DelphiからJavaに変換されたアプリケーションを移植しているため、コンパイルエラーが多いプロジェクトに取り組んでいます。最初はコンパイルエラーを気にしませんでした。そのため、時間がかかりました。問題を見つけるために。

于 2013-02-17T17:09:32.740 に答える
2

プロパティ - > Javaビルドパス - >ライブラリを確認してください。私の場合、mavenにエラーがありました。必要なjarをmavenレポに入れると、うまくいきました

于 2013-05-29T04:31:01.300 に答える
1

私にとってうまくいったのは、テストの実行構成を削除することです。次に、testclass を右クリックし、junit テストとして実行をクリックします。

これで、正しい実行構成が再作成されます。

于 2013-12-25T16:04:09.407 に答える
1

ここと他の投稿で言及されているすべてを試しました。人々が提供した解決策のいくつかは次のとおりです。

  1. テストの出力フォルダーを変更する
  2. Maven からテストコンパイルを実行するプロジェクトのカスタム ビルダーを作成します。
  3. プロジェクトのビルド パスの [注文とエクスポート] リストで、Maven の依存関係を上位に移動します。

他にもたくさんありましたが、動作することがわかったのは次のとおりです。開発環境を閉じます。プロジェクトで使用されている jar をローカルの Maven リポジトリから削除します。IDE を開きます。プロジェクトをビルドします。テストを実行します。

何時間も頭をキーボードにぶつけて、提案された解決策に従った後、これはうまくいきました!

于 2013-05-17T14:59:59.713 に答える
0

テスト クラスがビルド フォルダーにあることを確認しますか? 別のJVM(fork = true)でjunitを呼び出しているため、その呼び出し中に作業フォルダーが変更され、ビルドが相対的である可能性があり、問題が発生する可能性があります。

-verbose または -debug スイッチを使用して (Eclipse からではなく) コマンド ラインから ant を実行して、詳細なクラスパス/作業ディレクトリ junit が呼び出されていることを確認し、それでもこの問題を解決できない場合は、ここに結果を投稿してください。

于 2011-04-19T12:33:27.110 に答える
0

さらに別のバリエーション。
どういうわけか、以前は動作していたテスト クラスが別の場所から実行されているように見えました。テストを実行すると、編集が実行されませんでした。

${project_loc}src/test/java ファイルの出力フォルダーが、期待したものではないことがわかりました。誤って ${project_loc}target/classes に設定されていました。プロジェクトのプロパティ、Javaビルドパス、ソースタブで適切に設定しました。

于 2014-05-02T02:37:18.503 に答える
0

「パッケージ エクスプローラー」ビューで、テスト クラスを右クリックしてから、「ビルド パス」>>「インクルード」で問題ありません。

于 2015-03-26T02:43:44.900 に答える
0

これはずっと前にすでに回答されていることは知っていますが、回答で修正されませんでしたが、ビルドパス設定のソースからすべてを削除して再度追加しました

于 2016-04-28T18:39:48.950 に答える
0

エクスプローラーでプロジェクトを右クリックします: Build Path -> Order and Export -> JRE System Library [jdk] を選択し、Bottom ボタンをクリックします。

于 2013-11-08T14:34:29.207 に答える
0

上記のソリューションレビューとしてこの回答を追加します。

  1. .projectメイン プロジェクト フォルダ内のファイルを編集するだけです。適切な XML エディターを使用しないと、fatal errorこのプロジェクトを開くことができないという統計を Eclipse から取得します。
  2. Javaこれを に追加して、プロジェクトの性質を作成<nature>org.eclipse.jdt.core.javanature</nature>しました<natures></natures>
  3. 次に、それらの行を正しくインデント<buildCommand><name>org.eclipse.jdt.core.javabuilder</name><arguments></arguments></buildCommand>して に追加しました<buildSpec></buildSpec>
  4. Run as JUnit...成功
于 2012-12-14T16:28:19.683 に答える
0

最近新しいワークスペースを作成し、「インストール済みの JRE」が正しく設定されていなかったため、このエラーを受け取りました。Preferences -> Java -> Installed JREs JDK のルート フォルダで が選択されていることを確認します。新しいワークスペースでの私のデフォルトは、何らかの理由で JRE でした。

于 2015-10-29T19:52:07.863 に答える
0

追加のビルダーを含む、上記のガイの回答のバリエーション。Ant ビルダーが構成されているとします。

<buildSpec>
    <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
    <buildCommand>
        <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
        <arguments>
            <dictionary>
                <key>LaunchConfigHandle</key>
                <value>&lt;project&gt;/.externalToolBuilders/myprojectantlaunch.launch</value>
            </dictionary>
        </arguments>
    </buildCommand>
</buildSpec>

Ant ビルドと Eclipse ビルドの出力場所が異なる場合、Eclipse はクラスパスでテスト クラスを見つけることができない場合があります。Ant ビルダーの場合は、クリーン、自動、手動、クリーン後のビルドの構成済みターゲットもチェックして、単体テストをビルドするターゲットが呼び出されるようにします。

于 2012-11-09T00:13:24.840 に答える
0

この問題を解決するには、上記を組み合わせて実行する必要がある場合があります。通常、このエラーが発生します

mvn clean install

my テストが完全にコンパイルされないコンパイル エラーが表示されます。

上記で解決された問題が処理されたと仮定して、[プロジェクト]、[クリーン] の順にクリックして、実行するテストを含むプロジェクトをクリーンアップしてみてください。また、自動ビルドがチェックされていることを確認してください。

于 2020-10-02T11:13:47.760 に答える
0

Maven プロジェクトがある場合は、実行してみてください。

mvn clean compile

次に、Eclipseでプロジェクトをクリーンアップしてビルドします。

于 2014-06-18T00:43:22.557 に答える