2012-05-09 13 views
21

現在、Mavenを使用するJavaプロジェクトのクリーンアップを行い、NetBeans IDEを使用してPOMの問題をデバッグします。私はMaven 3.0.4をMaven版としてIDEに設定しましたが、他の開発者やContinuous Intgerationシステムでは異なる設定が可能です。Maven 3以降が必要かどうかをMaven POMで指定できますか?

特定のMavenバージョンをPOMに直接適用することは可能ですか(Maven 3固有の要素を使用するなど)?

答えて

23

はい、できます。一部のMavenプラグインには、Maven 3以降が必要です。

は、あなたのpom.xmlに以下を追加することによって、のmaven-執行-プラグインを使用します。

<build> 
    <plugins> 
    <plugin> 
     <inherited>true</inherited> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-enforcer-plugin</artifactId> 
     <version>1.3.1</version> 
     <executions> 
      <execution> 
      <id>enforce-maven-3</id> 
      <goals> 
       <goal>enforce</goal> 
      </goals> 
      <configuration> 
       <rules> 
       <requireMavenVersion> 
        <version>3.0.5</version> 
       </requireMavenVersion>     
       </rules> 
       <fail>true</fail> 
      </configuration> 
      </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
5

あなたができる最善のことは、Enforcerプラグインを使用することです。ここに例があります:
http://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html

これを行うためには、Maven自体には既定の方法はありません。実際にはprerequisitesというタグがありますが、子供がそれを継承しないためうまく動作しません。

+0

は、彼らが死ぬと、関連するスニペットを含む別の答えがすでにあった注意できるようリンクを含むに注意して:アプローチの概要について

はここを参照してください、あなたのための最適な動作をします。 – Barett

関連する問題