Maven Cleanプラグインは.cvsignoreを除外します
質問
私のプロジェクトでは、もともと間違いを犯し、CVSリポジトリのターゲットディレクトリをコミットしました。 CVSからディレクトリを削除する安全な方法がないことを知っているので、そこに.cvsignoreファイルを置いて基本的にすべてを無視します(クラスをコミットすることさえできない開発者を望んでいません...) 。
私はクリーンな目標を実行してテスト目標を実行しているため、ジェンキンスCIで問題が発生します。基本的にクリーンはCVSアップデートの前に実行されるため、常に更新するファイル(Cleanによって拭かれた.cvsignore)を見つけ、しばしば役に立たないビルドをトリガーします。
私は行く方法は除外を使用することだと思いますが、私は試しましたがうまくいきませんでした:
[INFO] [clean:clean {execution: default-clean}]
[INFO] Deleting file set: **************************/target (included: [**], excluded: [])
除外は次のように構成されています。
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<executions>
<execution>
<id>not-clean</id>
<configuration>
<filesets>
<fileset>
<directory>target</directory>
<excludes>
<exclude>*cvsignore</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
解決
設定を試してみてください <excludeDefaultDirectories>
に true
, 、そうでなければ、私は信じています target
フォルダーは常に削除されます。
次のコードスニペットが私のために機能します。使用したことに注意してください default-clean
として id
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>default-clean</id>
<configuration>
<excludeDefaultDirectories>true</excludeDefaultDirectories>
<filesets>
<fileset>
<directory>target</directory>
<excludes>
<exclude>.cvsignore</exclude>
<exclude>CVS</exclude>
<exclude>CVS/**</exclude>
</excludes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
所属していません StackOverflow