Laurent Malvert created MRESOURCES-160:
------------------------------------------
Summary: NPE when copy-resources set to use the default
<outputDirectory> as aspecified by documentation
Key: MRESOURCES-160
URL: https://jira.codehaus.org/browse/MRESOURCES-160
Project: Maven 2.x Resources Plugin
Issue Type: Bug
Components: copy
Affects Versions: 2.5
Environment: Windows 7 64 bits
Java 1.6.0_31 x64
maven 3.0.4
Reporter: Laurent Malvert
Attachments: error.log, resources-npe.tar.gz
h2. Context and Issue
When using the {{maven-resources-plugin}} to copy a resource to a custom
directory using the {{copy-resources}} goal, it triggers an NPE without any
additional information when the {{<outputDirectory>}} element is not specified:
{noformat}
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-resources-plugin:2.5:copy-resources
(copy-resources) on project NPEResourcesBug: Execution copy-resources of goal
org.apache.maven.plugins:maven-resources-plugin:2.5:copy-resources failed.
NullPointerException -> [Help 1]
{noformat}
However, the documentation at: http://maven.apache.org/pom.html#Resources
clearly states:
{quote}
directory: This element's value defines where the resources are to be found.
The default directory for a build is ${basedir}/src/main/resources.
{quote}
Specifying it explictly with this value works as intended.
_(Not sure if relevant to maven-resources-plugin or the MSHARED resources
component?)_
h2. Test Case
Or at leat a project to reproduce.
See the attached project for a working test case, which uses this configuration:
{code}
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>
${basedir}/resources
</outputDirectory>
<resources>
<resource>
<!--
works when included explictly set,
NPE otherwise, though documentation at:
http://maven.apache.org/pom.html#Resources
really mentions:
"directory: This element's
value defines where the
resources are to be found. The
default directory for a build
is
${basedir}/src/main/resources."
-->
<!--
<directory>${basedir}/src/main/resources</directory>
-->
<includes>
<include>**/somefile.xml</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira