I’m building an application that is composed of two projects: common and theApp.
Now, theApp depends upon common (modelled using a dependency). The tricky thing i’m facing is:
There are XML files in common/src/main/env which will be needed while theApp is running.
To make things more fun, a distribution of run will have this structure:
bin/– has scriptslib/– has the jars created bytheAppandcommondependencies/– has the library jars on which the app dependsconfig/– has the xml files fromtheAppandcommon
I’m all done, except that I’m still looking for a way to write a maven goal in theApp‘s POM that can put common‘s XML files in config/.
Any ideas?
Thanks,
Harshath
You’ll need the maven assembly and dependency plugins. Create an assembly descriptor in common/src/main/resources/assemblies/config.xml like this:
Then use it in your pom like:
This’ll create an attached artifact common-config.zip, which you can expand with the maven-dependency-plugin inside theApp’s pom.xml, putting the files in theApp’s target/config directory (which may not be suitable, depending on how you’re creating your final distribution):
Some of this is documented in http://www.sonatype.com/books/mvnref-book/reference/assemblies.html …