Jawaban:
Ini yang kau maksudkan?
Saya juga memindahkan kontennya ke repo GitHub:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
tetapi termasuk sebagian besar;)
Lihatlah bagian 9.2: Maven Properties dari buku online gratis Maven: The Complete Reference .
Melihat "POM efektif" mungkin akan membantu juga. Misalnya, jika Anda ingin tahu untuk apa jalan itu${project.build.sourceDirectory}
Anda akan menemukan XML terkait di POM yang efektif, seperti:
<project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
Juga membantu - Anda dapat melakukan evaluasi real-time properti melalui eksekusi baris perintah mvn help:evaluate
sementara di dir yang sama dengan POM.
Saya pikir tempat terbaik untuk melihat adalah Super POM .
Sebagai contoh, pada saat penulisan, referensi yang ditautkan menunjukkan beberapa properti antara baris 32 - 48.
Interpretasi dari ini adalah untuk mengikuti XPath sebagai .
properti terbatas.
Jadi, misalnya:
${project.build.testOutputDirectory}
== ${project.build.directory}/test-classes
Dan:
${project.build.directory}
== ${project.basedir}/target
Dengan menggabungkan mereka, kami menemukan:
${project.build.testOutputDirectory}
== ${project.basedir}/target/test-classes
(Untuk referensi direktori sumber daya, lihat pertanyaan stackoverflow ini )
<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>
Saya bosan melihat halaman ini dengan referensi basi yang sekarang sudah tidak berlaku lagi untuk halaman Codehaus jadi saya bertanya pada milis Pengguna Maven dan mendapat jawaban yang lebih baru.
Saya akan mengatakan bahwa jawaban terbaik (dan paling otoritatif) yang terkandung dalam tautan saya di atas adalah jawaban dari Hervé BOUTEMY:
di sini adalah referensi inti: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
itu tidak menjelaskan semua yang dapat ditemukan di POM atau di pengaturan, karena ada begitu banyak info yang tersedia tetapi menunjuk ke POM dan pengaturan deskriptor dan menjelaskan segala sesuatu yang bukan POM atau pengaturan
Tautan ini menunjukkan cara mendaftar semua properti aktif: http://skillshare.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html
Singkatnya, tambahkan definisi plugin berikut ke POM Anda, kemudian jalankan 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>
${...}
)