Réponses:
Voulez-vous dire celui-ci?
J'ai également déplacé son contenu vers un dépôt GitHub:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
mais inclut la plupart;)
Jetez un œil à la section 9.2 .: Propriétés Maven du livre gratuit en ligne Maven: The Complete Reference .
Examiner le "POM efficace" aidera probablement aussi. Par exemple, si vous voulez savoir à quoi sert le chemin${project.build.sourceDirectory}
vous trouverez le XML associé dans le POM effectif, tel que:
<project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
Aussi utile - vous pouvez faire une évaluation en temps réel des propriétés via l'exécution en ligne de commande de mvn help:evaluate
while dans le même répertoire que le POM.
Je pense que le meilleur endroit pour regarder est le Super POM .
À titre d'exemple, au moment de la rédaction de cet article, la référence liée montre certaines des propriétés entre les lignes 32 à 48.
L'interprétation de ceci est de suivre le XPath comme une .
propriété délimitée.
Ainsi, par exemple:
${project.build.testOutputDirectory}
== ${project.build.directory}/test-classes
Et:
${project.build.directory}
== ${project.basedir}/target
Ainsi en les combinant, on trouve:
${project.build.testOutputDirectory}
== ${project.basedir}/target/test-classes
(Pour référencer le (s) répertoire (s) de ressources, voir cette question stackoverflow )
<project>
<modelVersion>4.0.0</modelVersion>
.
.
.
<build>
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<finalName>${project.artifactId}-${project.version}</finalName>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<scriptSourceDirectory>src/main/scripts</scriptSourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
</resource>
</resources>
<testResources>
<testResource>
<directory>${project.basedir}/src/test/resources</directory>
</testResource>
</testResources>
.
.
.
</build>
.
.
.
</project>
J'en avais marre de voir cette page avec ses références désormais obsolètes à des pages obsolètes de Codehaus, alors j'ai posé la question sur la liste de diffusion des utilisateurs de Maven et j'ai obtenu des réponses plus à jour.
Je dirais que la meilleure (et la plus fiable) réponse contenue dans mon lien ci-dessus est celle apportée par Hervé BOUTEMY:
voici la référence principale: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
il n'explique pas tout ce qui peut être trouvé dans POM ou dans les paramètres, car il y a tellement d'informations disponibles mais il pointe vers le POM et les descripteurs de paramètres et explique tout ce qui n'est pas du POM ou des paramètres
Ce lien montre comment lister toutes les propriétés actives: http://skillshared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html
En résumé, ajoutez la définition de plugin suivante à votre POM, puis exécutez mvn install
:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>install</phase>
<configuration>
<target>
<echoproperties />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
${...}
)