44

一部のMavenプロジェクトに適用されるすべてのMavenプロパティの値を確認したいと思います。
mvn help:systemOS環境変数とJVMシステムプロパティを一覧表示しますが、Mavenプロパティは一覧表示しません。インタラクティブモードでのみ機能します。つまり、そのプロパティの値を取得するには
mvn help:evaluate、(たとえば)単一のMavenプロパティを入力する必要があります。${project.build.outputDirectory}

すべてのMavenプロパティとその値の完全なリストを取得する方法を探しています。

4

6 に答える 6

61

<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

于 2012-09-12T13:28:37.220 に答える
6

役立つかどうかはわかりませんが、同じことをしようとしたときにこれを見つけました:

mvn com.github.ekryd.echo-maven-plugin:echo-maven-plugin:echo -Decho.message='${project.build.testOutputDirectory}'

ここから。

以下を追加します${user.home}/.m2/settings.xml

  <pluginGroups>
    <pluginGroup>com.github.ekryd.echo-maven-plugin</pluginGroup>
  </pluginGroups>

コマンドは次のように短縮できます。

mvn echo:echo -Decho.message='${project.build.testOutputDirectory}'
于 2019-05-06T14:30:31.370 に答える
1

それらを「公式に」取得する方法はわかりませんが、回避策は次のとおりです。maven-antrun-pluginプロジェクトに追加して実行しますmvn test -X。プラグインは、Mavenからプラグインに渡されたすべてのプロパティを表示します。リストは私には完全に見えます。

于 2012-09-10T10:19:44.913 に答える
1

maven-help-pluginは必要なことを実行します。-Dexpression=project.propertiesこれを呼び出すだけで、効果的なpomのプロパティタグが出力されます。

tl; dr

mvn help:evaluate -Dexpression=project.properties

Maven出力ではなくプロパティ出力のみが必要な場合のボーナスポイント

mvn help:evaluate -Dexpression=project.properties -q -DforceStdout

-DforceStdoutまたは、バージョン3.1.0以降で機能するため、明示的なバージョンを使用します

mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=project.properties -q -DforceStdout
于 2022-01-12T11:03:31.127 に答える
0

実際にはproject.build.outputDirectoryがありますが、「validate」ではなく「compile」フェーズで実行する必要があります。使用可能なプロパティは、特定のプラグイン(この場合は「maven-antrun-plugin」)の実行目標の現在のフェーズにも依存すると思います。

            <!-- 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>
于 2016-06-02T17:16:31.077 に答える
-2

同じ問題がありました。mavenを介してfindbugs構成のタイムアウトとmaxheapを変更しました。

以下は私のためにそれを修正しました:

        <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>
于 2015-10-28T16:29:31.917 に答える