Referencing resources directory from project object model variables

Maven

Maven Problem Overview


If I can use ${project.build.sourceDirectory} to reference the source directory, what do I use to reference the "resources" directory?

Looking at the super pom, it would seem that ${project.build.resources.resource.directory} would work, but it does not . . .

Maven Solutions


Solution 1 - Maven

${project.build.resources[0].directory}

maven reference @ Sonatype, chapter 'resource filtering' says that anything from maven internal "Model.class" can be accessed. quote :

> "For a full list of properties available on the Maven Model object, take a look at the JavaDoc for the maven-model project here http://maven.apache.org/ref/3.0.4/maven-model/apidocs/index.html. Once you load this JavaDoc, take a look at the Model class. From this Model class JavaDoc, you should be able to navigate to the POM property you wish to reference."

Then, maven help plugin has a handy help:evaluate goal that let you do trial&error to discover the properties.

Solution 2 - Maven

From here:

> directory: This element's value defines where the resources are to be found. > The default directory for a build is ${basedir}/src/main/resources.

Edit: for clarity

Solution 3 - Maven

Extending @chiebaud's answer, using the maven help plugin, I think the correct option today is

${project.resources[0].directory}

(without the ".build" part).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionchadView Question on Stackoverflow
Solution 1 - MavencthiebaudView Answer on Stackoverflow
Solution 2 - MavenMichaelView Answer on Stackoverflow
Solution 3 - MavenpeterhView Answer on Stackoverflow