2017-12-11 24 views
0

スレッドmainの例外java.lang.NoClassDefFoundError: EclipseからMavenプロジェクトを作成する場合src/test/javaスレッド "main"の例外Eclipse、Mavenプロジェクトのjava.lang.NoClassDefFoundError

non-mavenプロジェクトで実行しようとすると問題はありません。クラスのオブジェクトを作成しようとすると、同じパッケージ になります。

私は多くの人がプロジェクトをきれいにすると言っています。

無料です。私はこれらを完全に突きつけている。ここにスクリーンショットがあります。 enter image description here

答えて

2

クラスHeWillDo.javaはテストパッケージに含まれています。プロジェクトをビルドすると、ロードされたクラスの一部にはなりません。

あなたの現在の試みでは、テストのために書かれたクラスを使用したり、ライブコードにテストするのに役立つことが示唆されていますが、これは正しくありません。

+1

しかし、別のマシンにエクスポートされた同じプロジェクトが正常に実行されているのがわかります。 – Hashili

+1

Javaプロジェクトのプロジェクト構造とパッケージ階層とその依存関係について学んでください。これはあなたの基本的な疑念をクリアします。 –

2

問題はパッケージ階層にあります。 "src/main/java"リソースjavaから"src/test/java"のいずれにもアクセスできません。これらは、パッケージ階層の2つの異なるセットです。テストクラスはMainクラスでは使用できませんが、MainのpublicクラスにTestにアクセスできます。

"HeWillDo.java"をパッケージまたは同じパッケージ "src/main/java"に移動した後でも同じことをテストできます。

+1

しかし、別のマシンにエクスポートされた同じプロジェクトが正常に実行されているのがわかります。 – Hashili

関連する問題