预定义的Maven属性列表在哪里?
我知道有一个所有预定义的Maven属性的列表(你知道像project.build.sourceEncoding
,或project.build.sourceDirectory
)。 我曾经看到过这个列表,但是我再也找不到了。
你的意思是这个吗?
我也把它的内容转移到GitHub仓库:
https://github.com/cko/predefined_maven_properties/blob/master/README.md
看“有效的POM”也可能有帮助。 例如,如果你想知道${project.build.sourceDirectory}
的path是什么的话
您可以在有效的POM中find相关的XML,例如: <project>
<build>
<sourceDirectory>/my/path</sourceDirectory>
也有帮助 – 你可以通过mvn help:evaluate
的命令行执行属性的实时评估mvn help:evaluate
在与POM相同的目录中mvn help:evaluate
。
看看第9.2节:免费的在线图书Maven:完整参考的 Maven属性 。
我认为最好的地方是超级聚甲醛 。
作为一个例子,在写作的时候,链接的引用显示了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邮件列表,并得到了一些更新的答案。
我想说的是,我上面的链接中包含的最好的(也是最权威的)答案是HervéBOUTEMY提供的答案:
这里是核心参考: http : //maven.apache.org/ref/3-LATEST/maven-model-builder/
它不能解释在POM或设置中可以find的所有信息,因为有这么多的信息可用,但它指向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>