2011-12-05 14 views
13

Estoy trabajando en un proyecto de varios módulos. Estamos utilizando el appCtx.xml de un módulo en algunos otros módulos.Copiando archivo de un proyecto a otro en maven

El problema actual es que no siempre están sincronizados entre sí.

Ocurre cuando alguien modifica el archivo y las compilaciones del proyecto, la persona que lo hace puede olvidarse de copiar a otro módulo y esto causa problemas.

¿Cómo copio appCtx.xml dentro de src/main/resources del proyecto A a src/main/resources en el proyecto B?

+0

¿Se puede agregar una dependencia directa? – Gray

+1

Otra idea es utilizar su sistema de control de revisiones para ayudar. No sé si usas SVN, pero mira: http://stackoverflow.com/questions/1401951/is-it-possible-to-link-svn-repository-files-so-that-a-file-is- en realidad-a-referen – Gray

Respuesta

35

Usted puede hacer esto con la maven resources plugin: copy-resources, algo así como:

<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> 

Este un archivo de un proyecto (colocated en el mismo árbol fuente) copias como parte de la fase de generar de recursos. Puedes adaptar esto a tus necesidades.

Esta copia de un proyecto a otro puede causar compilaciones inestables si los proyectos no están todos construidos a la vez, pero lo anterior funcionará para proyectos que siempre se construyen juntos.

+1

¡Lo estaba buscando! Gracias –

Cuestiones relacionadas