Ich habe eine Bibliothek, die ich mit Maven 2 verteile. Der typische Benutzer dieser Bibliothek verwendet Maven nicht zum Erstellen seiner Anwendungen, ist jedoch wahrscheinlich mit Maven vertraut und hat sie wahrscheinlich installiert.
Ich möchte einen "einfachen" einzeiligen Befehl dokumentieren, mit dem sie die Artefakte meiner Bibliothek auf ihre lokale ~/.m2/repository
Website herunterladen können, ohne dass sie dafür eine pom.xml einrichten müssen.
Ich dachte, es gäbe eine Möglichkeit, dies zu tun, aber ich kann es nicht finden, nachdem ich die Dokumentation install:install-file
und das dependency
Plugin durchgesehen habe . Ich habe Dinge ausprobiert wie:
mvn install:install-file -DrepositoryId=java.net -Durl=http://download.java.net/maven/2/ -Dfile=robo-guice-0.4-20091121.174618-1.jar -DpomFile=robo-guice-0.4-20091121.174618-1.pom -DgroupId=robo-guice -DartifactId=robo-guice -Dversion=0.4-SNAPSHOT -Dpackaging=jar
Aber ich glaube, ich belle den falschen Baum an, da das Installations-Plugin anscheinend verwendet wird, um lokal erstellte Dateien in das lokale Repository zu kopieren, anstatt Remote-Artefakte in das lokale Repository herunterzuladen.
Dies ist das Artefakt, das ich installieren möchte: http://download.java.net/maven/2/robo-guice/robo-guice/0.4-SNAPSHOT/
Ist das mit Maven möglich?
Antworten:
Seit Version 2.1 des Maven Dependency Plugin gibt es eine Abhängigkeit: get target für diesen Zweck. Um sicherzustellen, dass Sie die richtige Version des Plugins verwenden, müssen Sie den "vollständig qualifizierten Namen" verwenden:
quelle
Deprecated. Use remoteRepositories
fürrepoUrl
. Bitte aktualisieren Sie die Antwort vielleicht :)Geben Sie ihnen einen trivialen Pom mit diesen Gläsern, die als Abhängigkeiten und Anweisungen zum Ausführen aufgeführt sind:
Dadurch werden die Abhängigkeiten zum lokalen Repo gezogen.
Eine direktere Lösung ist die Abhängigkeit: get , aber es gibt viele Argumente, die eingegeben werden müssen:
quelle
get
Mojo erwartet tatsächlich-DrepoUrl
, anwesend zu sein, nicht-DrepositoryUrl
. In Bezug auf die zu tippenden Argumente gibt es keine Magie, Sie müssen diese Informationen auf die eine oder andere Weise bereitstellen.Ab Version 2.4 des Maven Dependency Plugin können Sie mit dem Flag -Ddest auch ein Ziel für das Artefakt definieren. Es sollte auf einen Dateinamen (kein Verzeichnis) für das Zielartefakt verweisen. Auf der Parameterseite finden Sie weitere Parameter, die verwendet werden können
quelle