tags:

views:

43

answers:

2

I have a maven-managed project with some modules. One module contains some native codes inside "src/main/resources/native" directory. Second module packages all related modules to a WAR file.

Here comes the question : How to copy the "native/" directory (and its sub-directories) in first module to WEB-INF/native directory in the second module ?

I found a copy resources plugin , but it seems not what I want. (It copies directory inside the same module , but I want cross-module copy)

Thanks in advanced.

+2  A: 

The goal of modules in maven is to spearate them from each other. I am afraid there will be no satisfactory solution inside maven as this goes against the grain.

A solution could be to create a war archive with your resources and depend on that to build your final war.

I use for a project for example the camel-web resources by adding a dependency :

    <dependency>
        <groupId>org.apache.camel</groupId>
        <artifactId>camel-web</artifactId>
        <version>${camel.version}</version>
        <type>war</type>
        <scope>runtime</scope>
    </dependency>

The war resources are merged with my web resources.

Peter Tillemans
+1 for war overlays.
whaley
+3  A: 

This is doable with dependency:unpack (that I would bind on the prepare-package phase) and the appropriate excludes/includes . See the Unpacking specific artifacts example.

Pascal Thivent
Thank you !And ... I also found the recursive dir should be written :"<includes>native/**\/*.*</includes>" ... too cumbersome ...
smallufo