我正在使用maven-antrun-plugin将jar文件解压缩到一个文件夹中。此jar文件在每个构建中生成,并具有TIMESTAMP变量(如下面的代码段所示)。如何将jar文件解压缩到与jar文件同名的文件夹中?例如。文件夹应为/ sample_TIMESTAMP而不是/ folder
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>unpack-jar-features</id>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<echo message="unpack jar file" />
<unzip dest="/folder">
<fileset dir="/folder">
<include name="sample_TIMESTAMP.jar" />
</fileset>
</unzip>
</target>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:1)
要解压缩到新目录,首先使用<mkdir>
创建目录,然后将dest
<unzip>
更改为sample_TIMESTAMP
:
<mkdir dir="/sample_TIMESTAMP"/>
<unzip dest="/sample_TIMESTAMP">
<fileset dir="/folder">
<include name="sample_TIMESTAMP.jar" />
</fileset>
</unzip>
您可以使用<pathconvert>
创建一个名为JAR文件的属性:
<fileset id="my-jar-file" dir="/folder">
<include name="sample_*.jar"/>
</fileset>
<pathconvert property="my-jar-file-name">
<chainedmapper>
<flattenmapper/>
<globmapper from="*.jar" to="*"/>
</chainedmapper>
<path>
<fileset refid="my-jar-file"/>
</path>
</pathconvert>
<mkdir dir="/${my-jar-file-name}"/>
<unzip dest="/${my-jar-file-name}">
<fileset refid="my-jar-file"/>
</unzip>
如果my-jar-file
<fileset>
可以匹配多个JAR文件,请使用<restrict>
将匹配限制为单个文件。