Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copying file from one project to another in maven

Tags:

I'm working on a multi-module project. We're using the appCtx.xml from one module in few other modules.

Current issue is that they're not always in sync with each other.

It happens when someone modifies the file and the project builds, the person doing that can forget to copy to another module and it causes issues.

How do I copy appCtx.xml inside src/main/resources from project A to src/main/resources in project B?

like image 783
Gandalf StormCrow Avatar asked Dec 05 '11 14:12

Gandalf StormCrow


1 Answers

You can do this with the maven resources plugin: copy-resources, something like:

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

This copies a file from one project (colocated on the same source tree) as part of the generate-resources phase. You can adapt this to your needs.

This copying from one project to another may cause unstable builds if the projects aren't all built at once, but the above will work for projects which are always built together.

like image 120
Matthew Farwell Avatar answered Oct 27 '22 21:10

Matthew Farwell