我想找出所有 Maven属性的值,因为它们适用于某些Maven项目。
mvn help:system
列出了OS环境变量和JVM系统属性,但没有Maven属性
mvn help:evaluate
仅在交互模式下工作,这意味着我必须键入单个Maven属性(例如${project.build.outputDirectory}
)以获取该属性的值。
我正在寻找一种方法来获取所有Maven属性及其值的完整列表。
答案 0 :(得分:42)
要解决此问题,请将其添加到项目<plugins> ... </plugins>
内的pom.xml
部分:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echoproperties />
</tasks>
</configuration>
</execution>
</executions>
</plugin>
现在执行mvn validate
在控制台上,前缀为[echoproperties]
,将有完整的系统属性列表,包括Maven设置的属性,例如project.build.outputDirectory
,basedir
和settings.localRepository
。
答案 1 :(得分:1)
我不知道如何“正式”获得它们,但这是一种解决方法。将maven-antrun-plugin
添加到您的项目并运行mvn test -X
。该插件将显示从Maven传递给它的所有属性。这份清单看起来很完整。
答案 2 :(得分:0)
实际上是project.build.outputDirectory,但你需要执行&#39; compile&#39;阶段,而不是验证&#39;。我想有哪些属性可用还取决于特定插件的执行目标的当前阶段,在这种情况下是maven-antrun-plugin&#39;。
<!-- Ant Run Plugin for debugging pom.xml and calling ant tasks -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>${ant.plugin.version}</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echoproperties/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
答案 3 :(得分:0)
不确定是否有帮助,但是我在尝试执行相同操作时发现了此问题:
mvn com.github.ekryd.echo-maven-plugin:echo-maven-plugin:echo -Decho.message='${project.build.testOutputDirectory}'
来自here
答案 4 :(得分:-1)
有同样的问题。通过maven更改了findbugs配置中的超时和最大值。
下面为我修好了:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<maxHeap>2048</maxHeap>
<timeout>1800000</timeout>
</configuration>
</plugin>