2011-09-25 16 views
9

Il mio bisogno è piuttosto semplice ma non ho trovato alcuna risposta pulita: ho semplicemente bisogno di essere in grado di distribuire una risorsa in un progetto multi-modulo.Maven copia risorse nel progetto multi-modulo

Consideriamo ad esempio il file LICENSE, che presumo sia lo stesso per tutti i moduli. Preferisco non copiarlo manualmente in ogni singolo modulo perché il file potrebbe cambiare nel tempo. Preferisco anche non collegare staticamente alle risorse (anche se si utilizzano percorsi relativi) al di fuori della cartella del progetto, perché la struttura modulare può anche cambiare.

Esiste un plug-in che può essere utilizzato per garantire in modo sicuro che a ogni modulo venga fornito il file richiesto? Sarebbe ugualmente accettabile ottenere tale copia sfruttando il POM del progetto principale o direttamente eseguito dal super progetto nella gerarchia modulare.

risposta

12

potresti usare l'assembly ei plugin di dipendenza .. sei incappato in quel link? http://www.sonatype.com/people/2008/04/how-to-share-resources-across-projects-in-maven/

descrive che ..its opzione a partire dal 2008, ma Maven è in giro per un bel po 'di tempo .. quindi credo che la sua più o meno aggiornati

modificare riguardo commento
Un'altra opzione è il plugin maven-remote-resources-. Per un esempio più dettagliato si veda:
http://maven.apache.org/plugins/maven-remote-resources-plugin/examples/sharing-resources.html

Fin dalla loro introduzione parla in realtà per sé, cito (maven.apache.org)

Questo plugin viene utilizzato per recuperare vasetti di risorse provenienti da repository remoti , elaborare tali risorse e incorporarle in JAR creati con Maven. Un caso d'uso molto comune è la necessità di raggruppare determinate risorse in modo coerente all'interno della propria organizzazione: in Apache è richiesto che ogni JAR prodotto contenga una copia della licenza Apache e un file di avviso che faccia riferimento a tutto il software utilizzato in un dato progetto .

+0

Non esattamente quella pagina specifica, ma sì, armeggiare con un descrittore di assieme non era la soluzione che speravo in termini di semplicità. Grazie comunque, per ora :) –

+0

scusa, non so di nessuna opzione più recente o plugin più adatto –

+0

Dallo stesso link che hai fornito, ho scoperto che il _maven-remote-resources-plugin funziona perfettamente con un altro configurazione compatta. Accetterò la tua risposta se la integrerai con una spiegazione correlata, per l'interesse degli altri lettori. –

Problemi correlati