2015-01-21 348 views
1

我有一個要求,maven創建的所有工件都有一個內部版本號。 內部版本號存儲在屬性文件中。我成功地控制了生成的EAR和WAR工件的名稱,但不控制JAR。這裏是pom.xml的相關摘錄。 我預計Maven的JAR-插件配置工作,但它沒有,我結束了罐子總是被命名爲自助服務,2.jar,當buildNumber.properties包含buildNumber = 40然而,行家產生自助服務-2.40.warSelfService-2.40.ear使用maven修改jar文件名稱

如何獲取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

我猜你有3個項目,對於這一點,EAR類型之一,一個WAR類型和JAR類型之一? (你的pom片段對我來說有點困惑) – Tome 2015-01-21 08:42:35

+1

[控制jar神器的maven最終名稱]的可能的重複(http://stackoverflow.com/questions/4238944/controlling-maven-final-name-of-jar-artifact ) – Joe 2015-01-21 10:03:00

回答

1

我得到了我是用的maven-JAR-插件以下配置之後:

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