À Maven, à quoi fait-il project.build.directory
référence? Je suis un peu confus, fait-il référence au répertoire du code source ou au répertoire cible dans le projet Maven?
173
Vous pouvez trouver ces propriétés maven dans le super pom.
Vous trouvez le pot ici:
${M2_HOME}/lib/maven-model-builder-3.0.3.jar
Ouvrez le bocal avec 7-zip ou un autre archiveur (ou utilisez l'outil jar).
Aller vers
org/apache/maven/model
Vous y trouverez le fichier pom-4.0.0.xml
.
Il contient tous ces "raccourcis":
<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>
Après quelques pressions, j'ajoute un lien vers lepom-4.0.0.xml
. Cela vous permet de voir les propriétés sans ouvrir le fichier jar local.
project.build.directory
par exemple. C'est ce que je voulais montrer.Il pointe vers votre répertoire de sortie de niveau supérieur (qui est par défaut
target
):https://web.archive.org/web/20150527103929/http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide
EDIT: Comme cela a été souligné, Codehaus est maintenant malheureusement disparu. Vous pouvez trouver des détails sur ces propriétés de Sonatype ici:
http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html#resource-filtering-sect-project-properties
la source
project.base.dir
pointe vers le répertoire racine du projet où se trouve le pom.xml. C'est pourquoi après cela,project.build.directory
défini par Maven est${project.basedir}/target
. Merci les gars, je ne savais pas ça.${project.build.sourceDirectory}
pointeproject-A/src/main/java
,${project.build.scriptSourceDirectory}
pointe versproject-A/src/main/scripts
,${project.build.testSourceDirectory}
pointe versproject-A/src/test/java
,${project.build.directory}
pointe versproject-A/target
,${project.build.directory}
pointe versproject-A/target/classes
,${project.build.testOutputDirectory}
pointe versproject-A/target/test-classes
.Vous pouvez trouver la réponse la plus à jour pour la valeur de votre projet, exécutez simplement le
et trouvez la
<build> ... <directory>
valeur de la balise dans le résultat aka dans le fichier effective-pom. Il affichera la valeur du Super POM sauf si vous l'avez écrasé.la source