Eclipse
この2つのステップの後でなぜか理解できません
Run as
->Maven clean
Project
->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/classes
target/test-classes
Eclipse's
Package Explorer
これを理解する秘訣は、Eclipse's
Package View
またはだけでなく、システムファイルエクスプローラーを使用してプロジェクトディレクトリとサブディレクトリを確認することでしたProject View
。
これはおそらく、実行時にeclipseがプロジェクトを自動ビルドするためです。