Я знаю, что есть список всех предопределенных свойств Maven (вы знаете, как project.build.sourceEncoding
или project.build.sourceDirectory
). Я когда-то видел список, но я просто не могу найти его снова.
Где список предопределенных свойств Maven
Ответ 1
Вы имеете в виду это?
Я также переместил его содержимое в репозиторий GitHub:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
Ответ 2
Глядя на "эффективную ПОМ", вероятно, тоже поможет. Например, если вы хотите узнать, что путь для ${project.build.sourceDirectory}
вы найдете соответствующий XML в эффективном POM, например: <project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
Также полезно - вы можете в реальном времени оценивать свойства через выполнение командной строки mvn help:evaluate
, находясь в том же каталоге, что и POM.
Ответ 3
Взгляните на раздел 9.2.: Maven Properties бесплатной онлайн-книги Maven: полная ссылка.
Ответ 4
Я думаю, лучшее место для просмотра - Super POM.
В качестве примера, на момент написания ссылки связанная ссылка показывает некоторые свойства между строками 32-48.
Интерпретация этого заключается в том, чтобы следовать за XPath как свойство .
с разделителями.
Итак, например:
${project.build.testOutputDirectory}
== ${project.build.directory}/test-classes
и
${project.build.directory}
== ${project.basedir}/target
Таким образом, объединяя их, мы находим:
${project.build.testOutputDirectory}
== ${project.basedir}/target/test-classes
(Чтобы ссылаться на каталоги ресурсов, см. fooobar.com/questions/69677/...)
<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>
Ответ 5
Я устал видеть эту страницу с ее устаревшими ссылками на несуществующие страницы Codehaus, поэтому я спросил в список рассылки Maven Users и получили более свежие ответы.
Я бы сказал, что лучший (и самый авторитетный) ответ, содержащийся в моей ссылке выше, является тем, который был внесен Hervé BOUTEMY:
вот основная ссылка: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
он не объясняет все, что можно найти в POM или в настройках, поскольку имеется так много информации, но она указывает на POM и дескрипторы параметров и объясняет все, что не является POM или настройки
Ответ 6
Эта ссылка показывает, как перечислять все активные свойства: http://skillshared.blogspot.co.uk/2012/11/how-to-list-down-all-maven-available.html
В заключение добавьте следующее определение плагина в POM, затем запустите 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>