私は、Mavenのリポジトリからアーティファクトの最新バージョンを見つけるにはどうすればよいです
-
20-09-2019 - |
質問
は、自動展開の一環として、私は、私たちの内部リポジトリからアーティファクトの最新バージョンをダウンロードするためのスクリプトを必要としています。
理想的には、このスクリプトは、アリやUNIXのシェルスクリプトとなります。
ですから、例えばます:
私はmyArtifact.war持って、それはバージョン1.0、1.1および2.0を持っている - 私は(現在artifactoryを使用して)私たちのMavenリポジトリからバージョン2.0を取得するために、正しいグループIDとアーティファクトIDを指定したスクリプトを必要とする
。これを行うための簡単な方法はありますか?
解決
あなたは利用可能なバージョンを確認するためにのmaven-にmetadata.xmlを解析することができ、そしてどのバージョンが「リリース」バージョンです。プラグインのバージョンは多くのためにはについてこの回答を参照してください。詳細ます。
あなたはネクサスを使用している場合は、 RESTのAPI リポジトリを照会するために使用します。また、簡素化するために RESTクライアントAPI を使用することができますあなたの処理ます。
は、リリースバージョンを更新するには、<のhref = "http://maven.apache.org/guides/introduction/introduction-to-the-pomでのを解放し、プロファイルをアクティブにします。 HTML」のrel = "nofollowをnoreferrer"> MavenのスーパーPOM には、をMVN展開を行うとき。あなたは、コマンドラインにある[ -Preleaseプロファイルまたは -DperformRelease =真を追加することによってこれを行うことができます。
プロファイルは、目標を実行するのmaven-リリース・プラグインの中で、デフォルトでアクティブです。それは、のuseReleaseProfile のプロパティによって制御されます。詳細については、リリース-行うの目標のマニュアルを参照してください。ます。
他のヒント
あなたは、あなたの成果物のバージョンとしてget
と一緒にMavenの依存関係のプラグインゴールLATEST
を使用することができます:
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