Jak znaleźć najnowszą wersję artefaktu z repozytorium maven

W ramach automatycznego wdrożenia potrzebuję skryptu do pobrania najnowszej wersji artefaktu z naszego wewnętrznego repozytorium.

Najlepiej, aby ten skrypt był z ANT lub skryptem powłoki Uniksa.

Więc na przykład:

Mam swój Artifact.war i ma wersje 1.0, 1.1 i 2.0 - potrzebuję skryptu podanego poprawnego ID grupy i Artifact id, aby pobrać wersję 2.0 z naszego repozytorium maven (obecnie używającego artifactory).

Czy Jest jakiś łatwy sposób na to?

Author: Rich Seller, 2009-07-29

2 answers

Możesz przeanalizować metadane Mavena.xml, aby zobaczyć, jakie wersje są dostępne i która wersja jest wersją "release". Zobacz tę odpowiedź na temat wersji wtyczki aby uzyskać więcej szczegółów.

Jeśli używasz Nexusa, możesz użyć REST API do odpytywania repozytorium. Możesz również użyć Rest client API, aby uprościć przetwarzanie.

Aby zaktualizować wersję release, Aktywuj release-profile w Maven super POM Kiedy to zrobisz MVN . Możesz to zrobić dodając -Prelease-profile lub -dperformrelease=true do wiersza poleceń.

Profil jest domyślnie aktywowany w celu wykonania wtyczki maven-release-plugin. Jest kontrolowany przez właściwość useReleaseProfile. Więcej szczegółów można znaleźć w dokumentacji celu release-perform.

 12
Author: Rich Seller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:18:03

Możesz użyć wtyczki Maven Dependency goal get razem z LATEST jako wersji dla Twojego artefaktu:

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
 18
Author: Michael Tamm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-30 13:47:54