web-dev-qa-db-ja.com

Mavenリポジトリからアーティファクトの最新バージョンを見つけるにはどうすればよいですか?

自動展開の一環として、内部リポジトリからアーティファクトの最新バージョンをダウンロードするためのスクリプトが必要です。

理想的には、このスクリプトはantまたはunixシェルスクリプトを使用します。

したがって、たとえば:

MyArtifact.warがあり、バージョン1.0、1.1、2.0があります-Mavenリポジトリからバージョン2.0を取得するには、正しいグループIDとアーティファクトIDを指定したスクリプトが必要です(現在アーティファクトを使用しています)。

これを行う簡単な方法はありますか?

30
Pablojim

Maven-metadata.xmlを解析して、使用可能なバージョンと、「リリース」バージョンであるバージョンを確認できます。詳細については、 プラグインバージョン に関するこの回答を参照してください。

Nexusを使用している場合は、 REST API を使用してリポジトリにクエリを実行できます。 RESTクライアントAPI を使用して、処理を簡素化することもできます。

リリースバージョンを更新するには、mvn deployを実行するときに、 Maven super POMrelease-profileをアクティブ化します。これを行うには、コマンドラインに-Prelease-profileまたは-DperformRelease = trueを追加します。

プロファイルは、maven-release-pluginの実行目標でデフォルトでアクティブ化されます。これは、useReleaseProfileプロパティによって制御されます。詳細については、 release-perform ゴールのドキュメントを参照してください。

13
Rich Seller

Maven DependencyPluginの目標getLATESTと一緒にアーティファクトのバージョンとして使用できます。

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
20
Michael Tamm