wwe - maven tutorial
¿Dónde está la lista de propiedades Maven predefinidas? (6)
¿Te refieres a este?
También moví su contenido a un repositorio de GitHub:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
Sé que hay una lista de todas las propiedades Maven predefinidas (ya conoces project.build.sourceEncoding
, o project.build.sourceDirectory
). Una vez vi la lista, pero no puedo encontrarla de nuevo.
Creo que el mejor lugar para buscar es el Super POM .
Como ejemplo, al momento de escribir, la referencia vinculada muestra algunas de las propiedades entre las líneas 32 - 48.
La interpretación de esto es seguir el XPath como a .
propiedad delimitada.
Así por ejemplo:
${project.build.testOutputDirectory}
== ${project.build.directory}/test-classes
Y:
${project.build.directory}
== ${project.basedir}/target
Por lo tanto, combinándolos, encontramos:
${project.build.testOutputDirectory}
== ${project.basedir}/target/test-classes
(Para hacer referencia al (a los) directorio (s) de recursos, vea esta pregunta de )
<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>
Eche un vistazo a la sección 9.2 .: Maven Properties del libro en línea gratuito Maven: The Complete Reference .
Este enlace muestra cómo enumerar todas las propiedades activas: http://skillshared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html
En resumen, agregue la siguiente definición de complemento a su POM, luego ejecute 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>
Me cansé de ver esta página con sus antiguas referencias obsoletas a las difuntas páginas de Codehaus, así que pregunté en la lista de correo de los usuarios de Maven y obtuve algunas respuestas más actualizadas.
Diría que la mejor (y más fidedigna) respuesta contenida en mi enlace de arriba es la que ha aportado Hervé BOUTEMY:
aquí está la referencia principal: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
no explica todo lo que se puede encontrar en POM o en la configuración, ya que hay mucha información disponible, pero apunta a POM y descriptores de configuración y explica todo lo que no es POM o configuración
Ver el "POM efectivo" probablemente también sea útil. Por ejemplo, si desea saber cuál es la ruta para ${project.build.sourceDirectory}
encontrará el XML relacionado en el POM efectivo, como por ejemplo: <project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
También es útil: puede realizar una evaluación en tiempo real de las propiedades a través de la ejecución de la línea de mvn help:evaluate
de mvn help:evaluate
en el mismo directorio que el POM.