3

公式ドキュメントを読みましたmvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-compiler-plugin -Ddetail

.class存在しなくなったファイルのファイルの自動削除を意味するオプションが見つかりませんでした.java

また、Antのそのようなオプションは見つかりませんでした:

クラスの名前を変更したり、別のパッケージに移動したりした後に、プロジェクトをクリーンアップしてから再度ビルドするのは面倒です...

この IoC フレームワークを実行しないと、Bean バインディングの重複一致が検出されます。

UPDTE.class I maven-compiler-plugin では不可能ファイルを単独で検出して削除するプラグインはありますか?

実行するたびに一貫したビルドを取得しmvn package、ビルドのインクリメンタルな性質を維持したい (したがって、mvn clean.

4

2 に答える 2

4

Maven の規則に従っており、コードが と の下src/main/javasrc/test/javaある場合は、それぞれ と にコンパイルされtarget/classesますtarget/test-classes。そうは言っても、ディレクトリmaven-clean-pluginからすべてが削除されますtarget

次の点を考慮してください。

mvn clean package

これにより、コンパイルされたすべてのクラスが削除され、再構築されます。

明らかに、クラスの移動/名前変更を含むリファクタリングを行う場合、残り物がないことを確認するために、クリーンなコンパイルを行う必要があります。

コンパイラ プラグインは、コンパイル以外の処理を行うものではありません。Maven のプラグインは、自己完結型の機能単位に厳密に分離されています。

于 2013-03-26T12:38:40.860 に答える
2

私によると、maven-clean を実行する以外に解決策はありません。そうしないと、.class ファイルは削除されません。Eclipse または STS を使用している場合は、Tomcat を設定して、リソースが変更されるたびにプロジェクトを自動公開できます。

それはあなたを助けるかもしれません。

于 2013-03-26T11:47:16.917 に答える