${project.build.outputDirectory}/resources
pom.xml に 2 つのプロファイルがあり、最初のプロファイルの実行中にターゲット リソース ディレクトリに追加したリソース ファイルがいくつかあります。私がする必要があるのは、2 番目のプロファイルの実行中にこれらのリソース ファイルを削除することです。ターゲットディレクトリから既存のファイルを削除または削除する方法はありますか?
6 に答える
私はマシューの観察に同意しますが、元の投稿者はclean
、プロファイルの (通常の) 「実行」中に実行を自動化する方法を尋ねていたという印象を受けました。
Maven Clean Plugin のプラグイン実行を定義できます。通常は にのみバインドされclean
ますが、プラグインの実行を定義することで、必要なライフサイクル フェーズclean:clean
にバインドできます(プラグインのclean
目標です) 。Maven Clean Plugin のドキュメントには、これを行う方法の例があります。ドキュメントには、追加のファイルを削除する例もあります。2つをマージすると、次のようになります。clean
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>some/relative/path</directory>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
mvn clean
target
ディレクトリ(したがって、その中のすべてのファイル)を削除します。target
ディレクトリから特定のファイルのみを削除する場合は、次の組み合わせ:
excludeDefaultDirectories
ディレクトリ全体の削除を停止するfilesets
何を削除するかを伝える
参照: http://maven.apache.org/plugins/maven-clean-plugin/clean-mojo.html
上記の回答に感謝します。最終的に私は次のようなものになりました:
ターゲット フォルダ内のいくつかのディレクトリを削除する だけの場合は、次のような構成を作成する必要があります。
たとえば、これはフォルダーのすべてのコンテンツのみを削除します。
- ターゲット/アンパック
- gen-external-apklibs
excludeDefaultDirectoriesは、完全なターゲット フォルダを削除しないようにします。
リント分析の前にターゲットフォルダーをクリーンアップするために使用しました。
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>Deleting all unnecessary files before lint analysis</id>
<phase>verify</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>target/unpack</directory>
<followSymlinks>false</followSymlinks>
<excludes>
<exclude>*</exclude>
</excludes>
</fileset>
<fileset>
<directory>gen-external-apklibs</directory>
<followSymlinks>false</followSymlinks>
<excludes>
<exclude>*</exclude>
</excludes>
</fileset>
</filesets>
<verbose>true</verbose>
</configuration>
</plugin>