2010-06-02 12 views
7

Ho un progetto gestito da Maven con alcuni moduli. Un modulo contiene alcuni codici nativi all'interno della directory "src/main/resources/native". Il secondo modulo raggruppa tutti i moduli correlati in un file WAR.Come copiare le risorse da un altro modulo in una posizione specifica? (Maven)

Ecco la domanda: come copiare la directory "native /" (e le sue sottodirectory) nel primo modulo nella directory WEB-INF/native nel secondo modulo?

Ho trovato un plug-in copy resources, ma non sembra quello che voglio. (Copia la directory all'interno dello stesso modulo, ma voglio una copia cross-module)

risposta

8

Questo è eseguibile con dependency:unpack (che legherei alla fase prepare-package) e l'appropriato excludes/includes. Vedi l'esempio Unpacking specific artifacts.

+0

Grazie! E ... ho anche trovato che la directory ricorsiva dovrebbe essere scritta: " nativo /***/*.*" ... troppo ingombrante ... – smallufo

4

L'obiettivo dei moduli in Maven è quello di spearli gli uni dagli altri. Temo che non ci sarà una soluzione soddisfacente all'interno di Maven in quanto questo va contro il grano.

Una soluzione potrebbe essere quella di creare un archivio di guerra con le tue risorse e dipendere da questo per costruire la tua guerra finale.

che uso per un progetto, ad esempio le risorse cammello-web con l'aggiunta di una dipendenza:

<dependency> 
     <groupId>org.apache.camel</groupId> 
     <artifactId>camel-web</artifactId> 
     <version>${camel.version}</version> 
     <type>war</type> 
     <scope>runtime</scope> 
    </dependency> 

Le risorse di guerra sono fusi con le mie risorse web.

+0

+1 per sovrapposizioni di guerra. – whaley

Problemi correlati