我要求maven创建的所有工件都带有内部版本号。 内部版本号存储在属性文件中。我成功地控制了生成的EAR和WAR工件的名称,但没有控制JAR。以下是pom.xml的相关摘录。 我希望maven-jar-plugin配置能够正常工作,但事实并非如此,我最终将jar命名为 SelfService-2.jar ,而当 buildNumber.properties 包含< em> buildNumber = 40 ,maven生成 SelfService-2.40.war 和 SelfService-2.40.ear 。
如何将内部版本号添加到jar名称中? 提前谢谢。
<artifactId>SelfService</artifactId>
<name>SelfService</name>
<packaging>war</packaging>
<version>2</version>
<build>
<finalName>${project.artifactId}-${buildNumber}</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<finalName>${project.artifactId}-${buildNumber}</finalName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<configuration>
<finalName>${project.artifactId}-${buildNumber}</finalName>
</configuration>
</plugin>
....
答案 0 :(得分:1)
通过使用 maven-jar-plugin 的以下配置,我得到了我的目标:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-${buildNumber}</finalName>
</configuration>
</execution>
</executions>
<configuration>
<finalName>${project.artifactId}-${buildNumber}</finalName>
</configuration>
</plugin>