2010-09-08 18 views
3

我有一個Maven2項目,我使用Assembly插件。如果創建的程序集文件名不會以格式擴展名結尾(例如「.zip」),則一切都會好起來的。我在插件配置中指定了一個fileName參數,並將appendAssemblyId設置爲false。我已經在這個問題上花了幾個小時了......任何想法?maven:從創建的程序集中刪除格式文件擴展名

+0

@starblue'[assembly]'是Maven的概念,'[assemblies]'不是。你對標籤(這是**集**)的限制令人厭倦。 – 2010-09-08 21:09:03

+0

這是一個解決方法https://stackoverflow.com/questions/20741555/maven-rename-a-file-after-everything-else-finishes – 2015-08-04 14:04:40

回答

0

我的答案有點不回答 - 不要刪除格式擴展名。如果您在裝配描述符中使用特定的<format>來生成工件(zip,tar.gz等),則不存在從文件中刪除擴展名的好理由。如果我是你的軟件的用戶並下載這個二進制文件,我不想猜測包裝類型是什麼,我應該能夠通過查看文件名來判斷。

FWIW,將appendAssemblyId設置爲false意味着裝配描述符的<id>將不會包含在您的文件名中。

現在,如果你真的死心塌地地讓你和其他人感到痛苦,你可能想要做的事情(與人們想讓maven做的大多數無意義的事情一樣)是使用antrun plugin來重命名在maven調用期間生成的文件,或者只是簡單地運行一個shell腳本,在maven進程完成後重命名它。

+0

嗯...我需要從文件中刪除「.zip」,因爲我爲某些軟件開發插件,並且需要一個具有特定擴展名的插件。這個插件基本上是一個適當結構的ZIP存檔。 – Arek 2010-09-09 08:29:32

+0

我真的需要分別調用mvn assembly:assembly,因爲我不想在每個編譯過程中構建程序集。我試圖使用Exec插件,但Assembly插件創建它自己的構建過程只有包階段,如果我試圖將重命名命令與包階段綁定,那麼整個構建過程每次都失敗,因爲在創建構件之前執行了再構建 – Arek 2010-09-09 08:39:57