Maven Resources Plugin: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 70: Line 70:
         ...
         ...
   </build>
   </build>
</pre>
=Exclude Resources from Processing of Any Kind=
<pre>
<build>
    ...
    <resources>
        <resource>
            <directory>src/test/resources</directory>
            <excludes>
                <exclude>data/**</exclude>
            </excludes>
        </resource>
    </resources>
    ...
</build>
</pre>
</pre>

Revision as of 05:11, 11 November 2016

External

Internal

Variable Substitution in Resource Files

Set "filtering" to true as follows, and all variables will be substituted on copy:

<project>
  ...
  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
      ...
    </resources>
    ...
  </build>
  ...
</project>

Copy Text Files in target and Final Artifact

  <build>
        ...
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.txt</include>
                </includes>
            </resource>
        </resources>
        ...
  </build>

This will copy all text files found under src/main/java into ./target/classes and make them available in the class path.

Warning! If you specify just the <directory>/src/main/java</directory> resource under <resources>, this will remove all other implicit resources, including <directory>src/main/resources</directory> so if you were relying on that (for log4j.xml or whatever else) you will need to add it explicitly:

  <build>
        ...
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.txt</include>
                </includes>
            </resource>
        </resources>
        ...
  </build>

Exclude Resources from Processing of Any Kind

<build>
    ...
    <resources>
        <resource>
            <directory>src/test/resources</directory>
            <excludes>
                <exclude>data/**</exclude>
            </excludes>
        </resource>
    </resources>
    ...
</build>