2017-10-18 17 views
1

J'ai un projet Maven multimodule, comme suit:Maven (projet multimodule) - Copier le fichier entre les modules

module: project-assembly; 
module: project-implementation; 
module: project-application; 
module: project-web; 

dans le projet-assemblage/src/main/montage/config j'ai des fichiers de configuration importants pour mon projet, et j'ai besoin qu'ils soient copiés pendant le processus de construction dans le module projet-web dans le dossier WEB-INF.

Plus important, cela doit être fait avec un profil spécifique.

Par exemple, ayant un profil «x», c'est celui qui a besoin de ces fichiers pour pouvoir empaqueter le projet avec succès.

est-il un moyen d'y parvenir? Merci

+0

La solution la plus simple consiste à placer le répertoire config dans le module web du projet sous src/main/resources? – khmarbaise

Répondre

1

vous pouvez utiliser des ressources maven plugin-

<properties> 
<othermodule-dir>...</othermodule-dir> 

</properties> 

<build> 
<resources> 
    <resource> 
     <!-- package thumbnail --> 
     <directory>${sourceDir}</directory> 
     <targetPath>${othermodule-dir}</targetPath> 
     <filtering>true</filtering> 
    </resource> 
    </resources> 
. 
. 
</build> 
+0

Merci pour la réponse, qu'en est-il le paramètre de profil nécessaire? – Lazarus

+0

qui peut être mis dans le profil aussi – awd

1

Vous pouvez utiliser le maven-plugin-AntRun pour copier des fichiers entre les dossiers arbitraires (ant copie). Mais je déconseille fortement de copier entre les modules. C'est déroutant et même plus: L'ordre de construction ou le sous-ensemble de modules qui sont construits sont sujets à changement (selon les dépendances et aussi les paramètres de la ligne de commande). Pour cette copie, vous devez vous assurer que la construction se déroule dans un ordre défini.

Pensez à partager la configuration d'une autre manière.

+0

Malheureusement, je ne suis pas autorisé à changer cette structure ... Pouvez-vous donner un exemple pour moi s'il vous plaît? – Lazarus