2012-09-07 10 views
19

すべて MavenプロパティがいくつかのMavenプロジェクトに適用されるので、値を調べたいと思います。
mvn help:systemには、OS環境変数とJVMシステムのプロパティがリストされていますが、Mavenプロパティはありません。
mvn help:evaluateは対話モードでのみ動作します。つまり、そのプロパティの値を取得するには、単一のMavenプロパティ(たとえば${project.build.outputDirectory})を入力する必要があります。Maven:Mavenプロパティの値の概要

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

+1

多分[this](http://stackoverflow.com/q/4532687/367285)関連の質問と回答です。 – FrVaBe

答えて

30

回避策として、プロジェクトのpom.xmlは、内部で<plugins> ... </plugins>セクションにこれを追加します。
コンソールに接頭辞[echoproperties]が付いていれば、project.build.outputDirectory,、settings.localRepositoryなど、Mavenによって設定されたものを含むシステムプロパティの完全なリストが表示されます。

+3

いいアイデアですが、すべてのプロパティをリストしていません。たとえば、 '$ {project.build.scriptSourceDirectory} 'は表示されません。 – Zarathustra

+0

もう一度試してみましょう:' session.executionRootDirectory'。 – ingyhere

1

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

<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を実行します。

+0

私はあなたの提案に従ったが、うまくいかなかった。 [documentation](http://docs.codehaus.org/display/MAVENUSER/Antrun+Plugin)で指摘されているようにpom.xmlにmaven-antrun-pluginを追加してから、 'mvn test -X'を実行しました。私はMaven固有のプロパティを見つけることができませんでした。 Yegor、あなたのリストにMavenのプロパティ 'project.build.outputDirectory'が含まれていますか? – Abdull

0

同じ問題がありました。 findbugs設定のタイムアウトとmaxheapをmavenで変更しました。

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

 <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> 
0

は実はproject.build.outputDirectoryがありますが、あなたは「コンパイル」段階では、およびNOT「検証」で実行する必要があります。私は、利用可能なプロパティが、特定のプラグインの実行目標(この場合は '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>