2017-07-14 224 views
5

在舊版本的插件中,您可以使用<finalName>,但不再存在。 目前我正在得到projectName-version-jar -with-dependencies.jar,這將是很好的改變這一點。如何使用maven-assembly-plugin version 3設置最終jar名稱

+0

爲什麼你說這不工作/不存在了?我正在使用程序集插件版本3.0.0(即最新),'finalName'工作得很好。 – Andrei

+1

我只是說它不存在,因爲它不在參數列表中http://maven.apache.org/plugins/maven-assembly-plugin/single-mojo.html – redsofa

+0

啊哈好的我看到了 - 我只是在''部分增加了'',我的IDE報告了一個錯誤,因爲根據ddt它們是不允許的,但它仍然在工作。所以它是一種無證的隱藏功能。 – redsofa

回答

1

finalName參數在項目構建部分中設置,而不是在插件配置中設置。

所以基本上:

<build> 
    <finalName>xyz</finalName> 
    <plugins> 
     <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     .... 
     </plugin> 
    </plugins> 
</build> 

Assembly插件讀取屬性${project.build.finalName}得到最終的名稱,是一個只讀參數。

至少that's什麼碼說:http://svn.apache.org/viewvc/maven/plugins/tags/maven-assembly-plugin-3.0.0/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java?view=markup

+0

現在我明白了 - 那是我錯過的部分。程序集插件的文檔中應該有一個提示如何正確使用它。 – redsofa