Antworten:
Meinst du das?
Ich habe den Inhalt auch in ein GitHub-Repo verschoben:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
aber die meisten;)
Schauen Sie sich Abschnitt 9.2 an: Maven Eigenschaften des kostenlosen Online-Buches Maven: The Complete Reference .
Ein Blick auf das "effektive POM" wird wahrscheinlich auch helfen. Zum Beispiel, wenn Sie wissen möchten, wofür der Pfad ist${project.build.sourceDirectory}
Sie finden das zugehörige XML im effektiven POM, z. B.:
<project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
Ebenfalls hilfreich: Sie können eine Echtzeitbewertung der Eigenschaften über die Befehlszeilenausführung von mvn help:evaluate
while im selben Verzeichnis wie das POM durchführen.
Ich denke, der beste Ort, um zu schauen, ist das Super POM .
Zum Beispiel zeigt die verknüpfte Referenz zum Zeitpunkt des Schreibens einige der Eigenschaften zwischen den Zeilen 32 - 48.
Die Interpretation davon ist, dem XPath als .
begrenzte Eigenschaft zu folgen .
Also zum Beispiel:
${project.build.testOutputDirectory}
== ${project.build.directory}/test-classes
Und:
${project.build.directory}
== ${project.basedir}/target
Wenn wir sie kombinieren, finden wir:
${project.build.testOutputDirectory}
== ${project.basedir}/target/test-classes
( Informationen zum Verweisen auf die Ressourcenverzeichnisse finden Sie in dieser Frage zum Stapelüberlauf. )
<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>
Ich habe es satt, diese Seite mit ihren mittlerweile veralteten Verweisen auf nicht mehr existierende Codehaus-Seiten zu sehen, also habe ich auf der Mailingliste der Maven-Benutzer nachgefragt und einige aktuellere Antworten erhalten.
Ich würde sagen, dass die beste (und maßgeblichste) Antwort in meinem obigen Link die von Hervé BOUTEMY ist:
Hier ist die Kernreferenz: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
Es erklärt nicht alles, was in POM oder in Einstellungen zu finden ist, da so viele Informationen verfügbar sind, aber es verweist auf POM- und Einstellungsdeskriptoren und erklärt alles, was nicht POM oder Einstellungen ist
Dieser Link zeigt, wie alle aktiven Eigenschaften aufgelistet werden : http://skillshared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html
Fügen Sie Ihrem POM zusammenfassend die folgende Plugin-Definition hinzu und führen Sie sie aus 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>
${...}
)