2009-07-29 107 views
27

作爲自動部署的一部分,我需要一個腳本從我們的內部存儲庫下載最新版本的工件。如何從Maven存儲庫中找到最新版本的工件

理想情況下,此腳本將與ant或unix shell腳本配合使用。

因此,例如:

我有myArtifact.war,它有版本1.0,1.1和2.0 - 我需要給予正確的組ID和工件ID從我們的Maven倉庫中獲取2.0版腳本(目前使用artifactory的)。

有沒有簡單的方法來做到這一點?

回答

12

您可以解析maven-metadata.xml以查看哪些版本可用,以及哪個版本是「版本」版本。有關更多詳細信息,請參閱關於plugin versions的回答。

如果您使用的是Nexus,則可以使用REST API來查詢存儲庫。您也可以使用REST client API來簡化處理。

要更新的發行版,激活在Maven super POM釋放曲線當你做MVN部署。您可以通過將-Prelease-profile-DopeformRelease = true添加到命令行來執行此操作。

maven-release-plugin的執行目標默認激活配置文件。它受useReleaseProfile屬性的控制。有關更多詳細信息,請參閱release-perform目標的文檔。

+0

+1這是偉大的 - 我的神器只是一個問題,如何配置什麼是「釋放」版。如果我使用maven release插件,它會自動執行嗎? – Pablojim 2009-07-29 11:59:57

+0

更新了我的回答 – 2009-07-29 12:35:21

17

您可以LATEST使用Maven Dependency插件目標get在一起的版本爲您的神器:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get 
    -DremoteRepositories=<URL_to_your_maven_repo> 
    -Dartifact=<group_id>:<artifact_id>:LATEST 
    -Dpackaging=jar 
    -Ddest=<target_dir>/<artifact_name>.jar 
相關問題