Maven Resources Plugin: Difference between revisions
Jump to navigation
Jump to search
Line 65: | Line 65: | ||
This will copy all text files found under src/main/java into ./target/classes and make them available in the class path. | This will copy all text files found under src/main/java into ./target/classes and make them available in the class path. | ||
<blockquote style="background-color: Gold; border: solid thin Goldenrod;"> | |||
:<br>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 <tt>log4j.xml</tt> or whatever else) you will need to add it explicitly, as shown in the example below. | |||
<br><br> | |||
</blockquote> | |||
<pre> | <pre> |
Revision as of 02:53, 22 December 2016
External
- http://maven.apache.org/plugins/maven-resources-plugin/
- http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
Internal
Overview
Variables can be replaced during when the resource plugin executes. For more details on how to specify variables to be replaced, see Maven Filtering and Property Substitution.
Resources
- http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html
- http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html
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>
For more details on how to specify the variables to be replaced, see:
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.
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, as shown in the example below.
<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>