Come usare Maven pom per scaricare i file jar solo in una directory specifica?
C'è un modo per scaricare le dipendenze da un pom.file xml in una cartella specificata in java? Sono in grado di eseguire il comando maven da java e ho ricevuto messaggi di download, ma non so dove maven memorizza queste librerie? Come posso scaricare queste dipendenze in una cartella specifica?
5 answers
Dai un'occhiata al plugin di dipendenza di maven, in particolare il
copy-dependencies
obiettivo. La sezione di utilizzo descrive come fare esattamente ciò che si desidera.
Per farlo dalla riga di comando basta fare:
$ mvn dependency:copy-dependencies -DoutputDirectory=OUTPUT_DIR
Vai a questo sito: http://jar-download.com/online-maven-download-tool.php
-
Inserisci le dipendenze Maven XML
Scarica i file jar come ZIP.
Aggiungi qualcosa di simile al seguente a pom.xml:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>
${project.build.directory}
</outputDirectory>
</configuration>
</plugin>
Quindi eseguire mvn clean dependency:copy-dependencies
per eseguire la copia.
Combinalo con il plugin assembly e puoi impacchettare tutto in un archivio autonomo per la distribuzione.
Maven memorizza tutti questi nel suo repository Maven2 locale. Per impostazione predefinita, li memorizzerà nella directory home dell'utente in una directory chiamata repository.
Puoi usare l'obiettivo del plugin maven-dependency chiamato copy per prendere tutte le dipendenze del tuo progetto e metterle in una cartella.
Http://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html
Come spiegato qui, puoi usare maven-dependency-plugin:get per questo.
Ad esempio, se si desidera scaricare org.apache.hive:hive-common:2.1.1
nella cartella locale, eseguire questa operazione:
mvn dependency:get -Ddest=./ -Dartifact=org.apache.hive:hive-common:2.1.1
Se si desidera scaricare l'ultima versione di 3.0.0-SNAPSHOT:tar.gz
di com.orientechnologies:orientdb-community-gremlin
dal repository di https://oss.sonatype.org/content/repositories/snapshots
snapshots, eseguire questa operazione:
mvn dependency:get -Ddest=./ -DremoteRepositories=sonatype-nexus-snapshots::::https://oss.sonatype.org/content/repositories/snapshots -Dartifact=com.orientechnologies:orientdb-community-gremlin:3.0.0-SNAPSHOT:tar.gz