Mi manca qualcosa. Ho cercato e cercato, e giocato e armeggiato, e ancora non riesco a capire come eseguire le seguenti operazioni con Maven:Maven: scarica l'artefatto ei suoi deps in una directory specifica
Vorrei scaricare un artefatto e tutte le sue dipendenze (e dipendenze transitive), dal nostro server Nexus interno, in una posizione specificata dall'utente. L'idea qui è di permettere alla persona che sta implementando la soluzione in produzione un modo in cui possono facilmente ottenere tutti i file jar di cui hanno bisogno in un unico posto.
C'è dipendenza: get, e questo è close-but-no-cigar. Con dipendenza: get, tutti gli artefatti vengono scaricati nel repository mvn locale, sotto le directory in base al groupId e al manufatto di ciascun artefatto. Questo NON è quello che voglio, perché poi devi arrancare attorno a tutte quelle directory per arrivare ai barattoli. Voglio che tutti i file vengano scaricati in una directory in modo che si trovino in un'unica posizione.
Quindi esiste una dipendenza: dipendenze di copia. Questo di nuovo fa quasi quello che voglio; copia tutti i deps di un artefatto in target/dipendenza. I due problemi con questo sono 1) È necessario avere un pom.xml; non è possibile specificare le coordinate arbitrarie come si può con dipendenza: get e 2) dipendenza: copy-dependencies non copia il principale artefatto stesso in target/dipendenze.
Ci deve essere un modo migliore per farlo, ma non riesco a capire dove altro cercare una soluzione. Per riassumere, voglio essere in grado di fornire a qualcuno una serie di coordinate di maven (groupId: artifactId: version) e il nostro URL interno di Nexus, e fargli scaricare tutto con un comando in una directory di loro scelta.
Si può creare un progetto che utilizza quelli come dipendenze, li sposta in, e crea il proprio artefatto con quei vasi? – corsiKa
Suppongo di sì, ma non mi sembra giusto. Dovrebbe esserci un modo per scaricare direttamente un artefatto e le sue funzioni, no? – Steven
Sono assolutamente d'accordo. Non sembra giusto. E l'ultima cosa che tutti vogliono è "qualcosa che funzioni finché non troviamo un modo migliore" perché sarai bloccato con il kludge per sempre. Ma se tutto il resto fallisce ... :) – corsiKa