Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Referencing resources directory from project object model variables

Tags:

maven

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 . . .

like image 954
chad Avatar asked Feb 09 '12 18:02

chad


3 Answers

${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.

like image 139
cthiebaud Avatar answered Sep 22 '22 06:09

cthiebaud


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

like image 44
Michael Avatar answered Sep 22 '22 06:09

Michael


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

${project.resources[0].directory}

(without the ".build" part).

like image 3
peterh Avatar answered Sep 19 '22 06:09

peterh