问题:Maven中有没有办法(不使用ant插件)解压缩文件,cd进入目录,删除文件,然后重新压缩它,所有这些都是建?
这是必要的,因为它是一个复杂的构建,也不想使用gradle来完成这项任务。
答案 0 :(得分:2)
truezip-maven-plugin
及其remove
目标的一步也可以满足解压缩,删除文件和压缩的要求:
从现有存档中删除一组文件。
official示例也涵盖了这种情况。
给出以下代码段:
<properties>
<archive>${project.basedir}/sample.zip</archive>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>truezip-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>remove-a-file</id>
<goals>
<goal>remove</goal>
</goals>
<phase>package</phase>
<configuration>
<fileset>
<!-- note how the archive is treated as a normal file directory -->
<directory>${archive}</directory>
<includes>
<include>hello.txt</include>
</includes>
</fileset>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行:
mvn clean package
构建将处理${archive}
文件(在本例中为sample.zip
,位于pom.xml
文件的同一级别,即project.basedir
目录中)从中删除hello.txt
文件。然后重新压缩所有内容。
我刚刚成功测试过,如果不需要,您甚至可以跳过properties
部分。但是,您还应该仔细了解:
maven-resources-plugin
及其copy-resources
目标。