wwe tutorial maven

tutorial - Maven project.build.directory



maven tutorial (3)

En Maven, ¿a qué se refiere project.build.directory ? Estoy un poco confundido, ¿hace referencia al directorio del código fuente o al directorio de destino en el proyecto Maven?


Apunta a su directorio de salida de nivel superior (que por defecto es "objetivo"):

http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide

EDITAR: Como se ha señalado, Codehaus ahora está tristemente difunto. Puede encontrar detalles sobre estas propiedades de Sonatype aquí:

http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html#resource-filtering-sect-project-properties

Si alguna vez intentas hacer referencia a los directorios de salida en Maven, nunca deberías usar un valor literal como target / classes. En su lugar, debe usar las referencias de propiedad para referirse a estos directorios.

project.build.sourceDirectory project.build.scriptSourceDirectory project.build.testSourceDirectory project.build.outputDirectory project.build.testOutputDirectory project.build.directory

sourceDirectory, scriptSourceDirectory y testSourceDirectory proporcionan acceso a los directorios de origen para el proyecto. outputDirectory y testOutputDirectory proporcionan acceso a los directorios donde Maven va a poner bytecode u otro resultado de compilación. directorio se refiere al directorio que contiene todos estos directorios de salida.


Puede encontrar esas propiedades maven en el super pom.

Usted encuentra el tarro aquí:

${M2_HOME}/lib/maven-model-builder-3.0.3.jar

Abra el contenedor con 7-zip o algún otro archivador (o use la herramienta jar).

Navegar a

org/apache/maven/model

Allí encontrarás el pom-4.0.0.xml .

Contiene todos esos "atajos":

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

Actualizar

Después de algunos cabildeos, agrego un enlace al pom-4.0.0.xml . Esto le permite ver las propiedades sin abrir el archivo jar local.


Puede encontrar la respuesta más actualizada para el valor en su proyecto simplemente ejecute el

mvn3 help:effective-pom

ordene y encuentre el valor de la etiqueta <build> ... <directory> en el resultado aka en el efectivo-pom. Mostrará el valor del Super POM a menos que haya sobrescrito.