wake-up-neo.com

Wie lade ich ein Maven-Artefakt über die Befehlszeile herunter, ohne Abhängigkeit zu verwenden: get oder maven-download-plugin?

Ich möchte ein Artefakt und seine Abhängigkeiten über die Befehlszeile herunterladen. Das heißt.

mvn [some plugin]:[goal] -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]

Ich habe die Abhängigkeit von mvn ausprobiert: Get, aber dies erfordert eine Liste von Remote-Repositorys. Ich möchte, dass mvn verwendet, was bereits in der Einstellungen.xml angegeben ist

Ich habe auch das maven-download-plugin ausprobiert, aber dies scheint nicht richtig zu funktionieren (es wurde versucht, xerces-impl als transitive Abhängigkeit von ant herunterzuladen und konnte es nicht lösen. Weder xerces-impl noch ant sind es Abhängigkeiten meines Artefakts).

Ihre Hilfe wäre dankbar.

26
Chris Beach

Versuchen Sie es mit der neuesten Version von Abhängigkeit: Get, es funktioniert für mich

mvn org.Apache.maven.plugins:maven-dependency-plugin:2.4:get -DartifactId=[artifactId] -DgroupId=[groupId] -Dversion=[version]

funktioniert bei mir

22
Guy

Das copy-Ziel ist hier geeigneter und ermöglicht es Ihnen, auch ein Ausgabeverzeichnis anzugeben (das im get-Ziel veraltet ist):

mvn org.Apache.maven.plugins:maven-dependency-plugin:2.8:copy -Dartifact=groupId:artifactId:version[:packaging][:classifier] -DoutputDirectory=[target] -Dmdep.useBaseVersion=true

mdep.useBaseVersion=true entfernt Zeitstempel aus Snapshot-Builds.

33
Gili

Beispiel zum Herunterladen der Version 6.9.4 von TestNG in Ihr lokales Repository ~/.m2/(verwendet das Maven-Abhängigkeits-Plugin: get): 

mvn org.Apache.maven.plugins:maven-dependency-plugin:RELEASE:get \
-Dartifact=org.testng:testng:6.9.4:jar

Beispiel zum Herunterladen der Version 4.11 von JUnit in Ihr aktuelles Arbeitsverzeichnis (verwendet maven-dependency-plugin: copy):

mvn org.Apache.maven.plugins:maven-dependency-plugin:RELEASE:copy \
-Dartifact=junit:junit:4.11:jar
3
RCross

Die einfachste Lösung wäre, ein einfaches Pom mit den entsprechenden Abhängigkeiten zu erstellen und mvn clean package für dieses Mini-Projekt auszuführen.

0
khmarbaise