2012-07-12 6 views
5

Ho un carico di file JAR di terze parti (circa 40 diversi JAR dai vari SDK che sto utilizzando) seduti in una cartella sul mio disco rigido. Voglio dichiarare quei JAR come dipendenze nei miei futuri progetti di esperti.Distribuzione di più JAR di terze parti su globale (interno) Maven nexus

Non riesco a ottenere quei JAR dal repository di maven globale in tutto il mondo come è possibile ad es. Log4J, JUnit, Velocity ecc., Poiché non sono disponibili lì.

Come posso ottenere questi file JAR dalla mia cartella locale nel repository maven globale (ma interno) della mia azienda (Nexus)? Quali sarebbero i passaggi necessari? La soluzione migliore sarebbe programmatica, se possibile.

Sono confuso di non riuscire a trovare alcuna soluzione al mio problema con Google, perché immagino che questo sia un problema molto diffuso. Quindi forse sto pensando in una direzione sbagliata.

Grazie mille!

risposta

9

È possibile installare le librerie nel proprio archivio locale con lo maven-install-plugin (obiettivo install-file - vedere example).

È possibile distribuire le librerie nel repository remoto (Nexus) con l'obiettivo maven-deploy-plugin (deploy-file - vedere example).

È inoltre possibile utilizzare l'applicazione Web Nexus per caricare le librerie su nexus (vedere Nexus Book - Uploading Artifacts).

+0

Grazie per la risposta, @FrVaBe. C'è un modo per farlo da Java usando una delle API Maven? Ho provato ad usare Invoker, ma secondo [la documentazione] (http://maven.apache.org/plugins/maven-invoker-plugin/), l'obiettivo di deploy non è supportato. – HombreFab

+0

@HombreFab Non ho esperienza con l'esecuzione programmata di compiti di tipo Maven, ma dovrebbe essere possibile configurare il plugin maven-deploy-in in una sezione pom.build.plugin e attivare l'invoker: install goal. Nel tuo caso il metodo automatizzato più semplice per me sembra essere un batch-script che esegue i diversi comandi 'mvn deploy: deploy-file'. – FrVaBe

+1

Grazie. I'll iterate sui miei file JAR in Java ed eseguo 'mvn deploy: deploy-file' da [chiamando la riga di comando] (http://www.linglom.com/2007/06/06/how-to-run -command-line-or-execute-external-application-from-java /) da java direttamente per ogni file. Questo lo farà – HombreFab

Problemi correlati