Worauf bezieht sich das in Maven project.build.directory
? Ich bin etwas verwirrt. Verweist es auf das Quellcodeverzeichnis oder das Zielverzeichnis im Maven-Projekt?
172
Sie finden diese Maven-Eigenschaften im Super Pom.
Das Glas finden Sie hier:
${M2_HOME}/lib/maven-model-builder-3.0.3.jar
Öffnen Sie das Glas mit 7-zip oder einem anderen Archivierungsprogramm (oder verwenden Sie das Glaswerkzeug).
Navigieren Sie zu
org/apache/maven/model
Dort finden Sie die pom-4.0.0.xml
.
Es enthält all diese "Abkürzungen":
<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>
Nach einigem Lobbying füge ich einen Link zum hinzupom-4.0.0.xml
. Auf diese Weise können Sie die Eigenschaften anzeigen, ohne die lokale JAR-Datei zu öffnen.
project.build.directory
zum Beispiel. Das wollte ich zeigen.Es zeigt auf Ihr Ausgabeverzeichnis der obersten Ebene (standardmäßig
target
):https://web.archive.org/web/20150527103929/http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide
EDIT: Wie bereits erwähnt, ist Codehaus jetzt leider nicht mehr vorhanden. Details zu diesen Eigenschaften von Sonatype finden Sie hier:
http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html#resource-filtering-sect-project-properties
quelle
project.base.dir
verweist also auf das Stammverzeichnis des Projekts, in dem sich die Datei pom.xml befindet. Deshalb wird danachproject.build.directory
von Maven definiert${project.basedir}/target
. Danke Jungs, das wusste ich nicht.${project.build.sourceDirectory}
aufproject-A/src/main/java
,${project.build.scriptSourceDirectory}
zeigt aufproject-A/src/main/scripts
,${project.build.testSourceDirectory}
zeigt aufproject-A/src/test/java
,${project.build.directory}
zeigt aufproject-A/target
,${project.build.directory}
zeigt aufproject-A/target/classes
,${project.build.testOutputDirectory}
zeigt aufproject-A/target/test-classes
.Sie können die aktuellste Antwort für den Wert in Ihrem Projekt finden. Führen Sie einfach die aus
befehle und finde den
<build> ... <directory>
Wert des Tags im Ergebnis, auch bekannt als im effektiven POM. Der Wert des Super-POM wird angezeigt, sofern Sie ihn nicht überschrieben haben.quelle