2011-12-05 7 views
13

Je travaille sur un projet multi-module. Nous utilisons le fichier appCtx.xml d'un module dans quelques autres modules.Copier un fichier d'un projet à un autre dans maven

Le problème actuel est qu'ils ne sont pas toujours synchronisés les uns avec les autres.

Cela arrive quand quelqu'un modifie le fichier et le projet construit, la personne qui fait cela peut oublier de copier vers un autre module et cela cause des problèmes. Comment puis-je copier appCtx.xml dans les ressources src/main/du projet A vers src/main/resources dans le projet B?

+0

Pouvez-vous ajouter une dépendance directe? – Gray

+1

Une autre idée est d'utiliser votre système de contrôle de révision pour vous aider. Je ne sais pas si vous utilisez SVN mais voir: http://stackoverflow.com/questions/1401951/is-it-possible-to-link-svn-repository-files-so-that-a-file-is- en fait-un-referen – Gray

Répondre

35

Vous pouvez le faire avec le maven resources plugin: copy-resources, quelque chose comme:

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>copy-appCtx</id> 
      <phase>generate-resources</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.directory}/src/blahhere</outputDirectory> 
       <overwrite>true</overwrite> 
       <resources> 
        <resource> 
         <directory>../other_project/src/blah/blah</directory> 
         <includes> 
          <include>appCtx.xml</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

Cette copie un fichier d'un projet (colocalisé sur le même arbre source) dans le cadre de la phase generate-ressources. Vous pouvez adapter cela à vos besoins.

Cette copie d'un projet à un autre peut provoquer des constructions instables si les projets ne sont pas tous construits en une fois, mais ce qui précède fonctionnera pour les projets qui sont toujours construits ensemble.

+1

Je le cherchais! Merci –

Questions connexes