Ответы:
Вы имеете в виду это?
Я также переместил его содержимое в репозиторий GitHub:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
[WARNING] The expression ${artifactId} is deprecated. Please use ${project.artifactId} instead.
большинство;)
Взгляните на раздел 9.2 .: Свойства Maven бесплатной онлайн-книги Maven: The Complete Reference .
Возможно, поможет и "эффективный POM". Например, если вы хотите узнать, для чего нужен путь${project.build.sourceDirectory}
вы найдете соответствующий XML в действующем POM, например:
<project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
Также полезно - вы можете выполнять оценку свойств в реальном времени с помощью командной строки, mvn help:evaluate
находясь в том же каталоге, что и POM.
Я думаю, что лучше всего искать 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
(Чтобы ссылаться на каталог (ы) ресурсов, см. Этот вопрос о переполнении стека )
<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>
Мне надоело видеть эту страницу с устаревшими к настоящему времени ссылками на несуществующие страницы Codehaus, поэтому я спросил в списке рассылки Maven Users и получил еще несколько актуальных ответов.
Я бы сказал, что лучший (и самый авторитетный) ответ, содержащийся в моей ссылке выше, - это ответ Эрве БУТЭМИ:
вот основная ссылка: http://maven.apache.org/ref/3-LATEST/maven-model-builder/
он не объясняет все, что можно найти в POM или в настройках, поскольку доступно так много информации, но он указывает на дескрипторы POM и настроек и объясняет все, что не является POM или настройками
Эта ссылка показывает, как вывести список всех активных свойств: 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>
${...}
)