我知道這可能是maven愛好者所不希望的,但是整個'target'目錄在我們的程序和部署過程中浪費了空間。我們有其他構建過程負責創建實際的部署,我目前手動刪除目標目錄後,每Maven構建,使其內容不會干擾我的文件搜索等...在編譯後刪除'target'目錄
有沒有辦法刪除這個目錄自動在Maven的構建/安裝結束?
謝謝,p。
我知道這可能是maven愛好者所不希望的,但是整個'target'目錄在我們的程序和部署過程中浪費了空間。我們有其他構建過程負責創建實際的部署,我目前手動刪除目標目錄後,每Maven構建,使其內容不會干擾我的文件搜索等...在編譯後刪除'target'目錄
有沒有辦法刪除這個目錄自動在Maven的構建/安裝結束?
謝謝,p。
使用maven-清理插件這裏http://maven.apache.org/plugins/maven-clean-plugin/examples/delete_additional_files.html
<project>
[...]
<build>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>install</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
您應該簡單地在最後的清理目標添加到您的Maven目標。
mvn install clean
與清理插件的問題是,如果你想在構建結束時運行的清潔這取決於你叫之初,其目標。例如,你調用了mvn包,你需要有一個不存在的後期包,或者如果你調用了mvn install,你必須安裝後期不存在的階段。
@khmarbaise - 清潔插件與階段安裝/包即使在結束。你不需要安裝後/後期包。但它確實需要匹配所調用的原始階段。 – JoseK 2010-05-26 11:02:03
最簡單的方法是簡單地將「clean」添加到普通構建命令的末尾。例如。 mvn乾淨安裝乾淨。
如果你想要到j 烏斯刪除目標文件夾中的一些目錄,你必須創建一些結構是這樣的。
這個例如只刪除文件夾中的所有內容:
excludeDefaultDirectories允許到n OT刪除完整的目標文件夾。
我用它來清理lint分析前的目標文件夾。
<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>
這將在構建開始時運行清洗,而不是結束。 – khmarbaise 2010-05-26 10:24:31
@khmarbaise - 我改變了安裝階段,甚至在最後階段也能正常工作。但我打電話給mvn安裝。爲了使mvn包能夠工作,我需要使用maven-clean-plugin作爲包的階段,並在最後完成。 – JoseK 2010-05-26 10:57:23
只需要小心,在部署或安裝階段之前不要刪除,項目將變得毫無用處。 – sal 2010-05-27 02:00:47