Maven:Maven属性值的概述

时间:2012-09-07 11:54:48

标签: maven-3 maven-plugin

我想找出所有 Maven属性的值,因为它们适用于某些Maven项目。
mvn help:system列出了OS环境变量和JVM系统属性,但没有Maven属性 mvn help:evaluate仅在交互模式下工作,这意味着我必须键入单个Maven属性(例如${project.build.outputDirectory})以获取该属性的值。

我正在寻找一种方法来获取所有Maven属性及其值的完整列表。

5 个答案:

答案 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.outputDirectorybasedirsettings.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>