En Maven, ¿a qué se project.build.directory
refiere? Estoy un poco confundido, ¿hace referencia al directorio del código fuente o al directorio de destino en el proyecto Maven?
173
Puedes encontrar esas propiedades maven en el súper pom.
Encuentra el frasco aquí:
${M2_HOME}/lib/maven-model-builder-3.0.3.jar
Abra el frasco con 7-zip o algún otro archivador (o use la herramienta de frasco).
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>
Después de algunos grupos de presión, estoy agregando un enlace alpom-4.0.0.xml
. Esto le permite ver las propiedades sin abrir el archivo jar local.
project.build.directory
por ejemplo. Eso es lo que quería mostrar.Apunta a su directorio de salida de nivel superior (que por defecto es
target
):https://web.archive.org/web/20150527103929/http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide
EDITAR: Como se ha señalado, Codehaus ahora está tristemente difunto. Puede encontrar detalles sobre estas propiedades en Sonatype aquí:
http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html#resource-filtering-sect-project-properties
fuente
project.base.dir
apunta al directorio raíz del proyecto donde está pom.xml. Es por eso que después de eso,project.build.directory
definido por Maven es${project.basedir}/target
. Gracias chicos, no sabía esto.${project.build.sourceDirectory}
apunta aproject-A/src/main/java
,${project.build.scriptSourceDirectory}
puntos aproject-A/src/main/scripts
,${project.build.testSourceDirectory}
puntos aproject-A/src/test/java
,${project.build.directory}
puntos aproject-A/target
,${project.build.directory}
puntos aproject-A/target/classes
,${project.build.testOutputDirectory}
puntos aproject-A/target/test-classes
.Puede encontrar la respuesta más actualizada para el valor en su proyecto simplemente ejecute el
ordenar y encontrar el
<build> ... <directory>
valor de etiqueta en el resultado, también conocido en el pom efectivo Mostrará el valor del Super POM a menos que lo haya sobrescrito.fuente