Eclipseこの2つのステップの後でなぜか理解できません
Run as->Maven cleanProject->clean...
白い矢印の付いた緑色のアイコンを使用してプログラムを実行できますか?
.class掃除した後、ファイルがないと思いました。のような例外を期待していClassNotFoundましたが、このようなことは何も起こりませんでした。
プロジェクトを適切にクリーンアップする方法を知っていますEclipseか?
Eclipseでのクリーンは、Mavenでのクリーンと同じではありません。Mavenのクリーンは、コンパイルされたすべてのリソース(クラスなど)を実際に削除します。eclipseのクリーンプロジェクトは一種ですmvn clean compile。つまり、ファイルを削除してすべてのファイルを再度*classコンパイルします。*.java
アプリケーションの開始コードで、次を追加できます。
System.out.println("Classpath=" + System.getProperty("java.class.path"));
あなたはそれを分析することができます(通常私はそれをクラスパスセパレーターで分割してソートするためにnotepaddppを使用します)-多分それはクラスも含むmavenリポジトリのjarを参照していますか?クラスフォルダが最初にクラスパス上にある場合があります。したがって、jar内に同じクラスが存在する場合でも、jarの前にあります。
Maven私は自分のプロジェクトの1つでこの現象をチェックしたEclipseところ、これが私が観察したものです。ちなみに、に表示されるものを信用せずPackage View、ファイルシステムエクスプローラーを使用してください。
実行->Mavenclean:ターゲットフォルダーを削除しますProject-> clean ...:target空のサブフォルダー" classes"および""を含むフォルダーを作成しますtest-classes。Eclipse's Package Explorerビューに、空のターゲットフォルダが表示されます。
この時点で、Mavenプロジェクトをクリーンアップする適切な方法Eclipseは、[実行]->[Mavenクリーン]を実行することです。
次に、クリーニング後にプログラムが実行される理由について説明します。プロジェクトでプログラムを実行するとすぐに、 「」フォルダーと「」フォルダーに*.classファイルとリソースをEclipseコンパイルして移入しました。ビューでは、まだ空のターゲットフォルダーが表示されます。target/classestarget/test-classesEclipse's Package Explorer
これを理解する秘訣は、Eclipse's Package Viewまたはだけでなく、システムファイルエクスプローラーを使用してプロジェクトディレクトリとサブディレクトリを確認することでしたProject View。
これはおそらく、実行時にeclipseがプロジェクトを自動ビルドするためです。