使用maven修改jar文件名

时间:2015-01-21 00:49:21

标签: maven jar

我要求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>
      ....

1 个答案:

答案 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>