我有一个项目,我需要在其他所有内容完成后重新命名由Maven Assembly Plugin
生成的最终输出文件(在编译/构建/汇编过程中)。
Maven Assembly Plugin
根据项目名称生成最终.zip
文件,我需要将其完全重命名为final-version.oxt
。我正在尝试使用maven-antrun-plugin
重命名它,正如其他类似问题所指出的那样,但没有运气(我以前从未使用过Maven或Ant,所以也许我错过了一些东西)。
这是项目<build>
的{{1}}部分。重命名部分似乎完全被忽略,因为我的pom.xml
文件夹中没有生成文件。
home
答案 0 :(得分:14)
一些修改使其有效,可能phase
错了,但使用<phase>install</phase>
似乎可以使其有效:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>install</phase>
<configuration>
<target>
<copy file="${project.build.directory}/libreofficeplugin-ooo.zip" tofile="${project.build.directory}/final-version.oxt" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
答案 1 :(得分:8)
这个问题已有近一年的历史了,但如果其他人遇到类似的问题,这里有另一种解决方案。
如果您正在寻找一种更为普遍的方式,可以使用
<plugin>
<groupId>com.coderplus.maven.plugins</groupId>
<artifactId>copy-rename-maven-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<id>rename-file</id>
<phase>install</phase>
<goals>
<goal>rename</goal>
</goals>
<configuration>
<sourceFile>${project.build.outputDirectory}/libreofficeplugin-ooo.zip</sourceFile>
<destinationFile>${project.build.outputDirectory}/final-version.oxt</destinationFile>
</configuration>
</execution>
</executions>
</plugin>
答案 2 :(得分:-1)
您无需使用antrun重命名输出文件。只需使用程序集插件的标签finalName重命名输出文件。
<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>assembly</id>
<phase>package</phase>
<goals>
<goal>attached</goal>
</goals>
<configuration>
<archive>
<manifestFile>src/main/resources/META-INF/MANIFEST.MF</manifestFile>
</archive>
<descriptors>
<descriptor>src/main/assembly/ooo-jar.xml</descriptor>
<descriptor>src/main/assembly/ooo.xml</descriptor>
</descriptors>
<finalName>final-version.oxt</finalName>
</configuration>
</execution>
</executions>
</plugin>