我想打電話如何使用maven打包特定版本?
mvn clean install -Dsomeproperty=1.2.3-20110526-1836
得到的
artifact-1.2.3-20110526-1836.jar
代替
artifact-1.2.3-SNAPSHOT.jar
我如何傳遞時間戳到Maven?
我想打電話如何使用maven打包特定版本?
mvn clean install -Dsomeproperty=1.2.3-20110526-1836
得到的
artifact-1.2.3-20110526-1836.jar
代替
artifact-1.2.3-SNAPSHOT.jar
我如何傳遞時間戳到Maven?
下神器的pom.xml設置似乎在做你想要什麼:
<groupId>testgroup</groupId>
<artifactId>testartifact</artifactId>
<version>${someproperty}</version>
現在,如果你執行「MVN乾淨安裝-Dsomeproperty = 1.1.timestamp」,jar文件出品還包含時間戳名稱。
我不確定這是不是您要找的。
編輯
自pom文件以來的另一種解決方案無法更改。
正常執行「mvn clean install」命令。這會生成一個jar文件,如artifact-1.2.3-SNAPSHOT.jar。
再次安裝此文件 - 這次用「mvn install:install-file -Dfile = artifact-1.2.3-SNAPSHOT.jar -DgroupId = testgroup -DartifactId = testartifact -Dversion = 1.2.3-123456-1234 - Dpackaging =罐子。這將安裝神器1.2.3-123456-1234.jar在你的本地庫
是的,接近。但正如我所說,我不想(不能)編輯pom.xml - 它由一個特殊的團隊維護。我想設置-Dproject.version = 1.2.3-123456-1234,但那不起作用。我如何正確地做到這一點? – Bastl 2011-05-31 14:03:19
正確。沒有注意到你對pom性質的要求。那麼我建議另一種方法。通常執行「mvn clean install」命令。這會生成一個jar文件,如artifact-1.2.3-SNAPSHOT.jar。現在,再次安裝此文件 - 這次使用「mvn install:install-file -Dfile = artifact-1.2.3-SNAPSHOT.jar -DgroupId = testgroup -DartifactId = testartifact -Dversion = 1.2.3-123456-1234 -Dpackaging = jar。這會將artifact-1.2.3-123456-1234.jar安裝在您的本地存儲庫中。 – Vijay 2011-05-31 16:10:04
這個最快的黑客是運行
mvn clean install --offline
這將防止從加載每晚構建遠程回購
您也可以使用settings.xml
雖然這會對你指定什麼:
<project ...>
<properties>
<someproperty>somproperty-default-value</someproperty>
</properties>
<build>
<finalName>artifact-${someproperty}</finalName>
....
</build>
....
</project>
我會建議使用:How do I add time-stamp information to Maven artifacts?
你不應該只是把那個版本('1.2.3-20110526-1836')成pom.xml? – 2011-05-31 11:51:09
爲什麼你想要做這樣的事情?如果要防止從遠程存儲庫下載工件,請使用'--offline'開關。 – teodozjan 2011-05-31 11:57:05
我們有一個生成時間戳版本的每晚構建,我想用我的本地更改覆蓋它們。這是一個* BIG *版本,所以我只能隨時玩一些屬性。我不想改變體力活動。 – Bastl 2011-05-31 13:10:12