2011-12-08 6 views
1

私はMaven 3.0.3を使用しています。誰かが "verify"フェーズを含むMavenタスクを実行している場合、 "tomcat.manager.url"というプロパティが定義されていることを確認し、そうでない場合はエラーを投げます。ただし、誰かがベリファイを含むコマンド(たとえばmvnテスト)を実行していない場合は、エラーをスローしたくありません。Maven:ライフサイクルフェーズでプロパティの組み込みを実行するにはどうすればよいですか?

どうすればよいですか?

おかげで、 - デイブ

答えて

3

あなたがプラグインを設定することを要求ルールで、「検証」フェーズの間に実行するためにEnforcerプラグイン(docs)を設定でき、設定は次のようなものになります。

<build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-enforcer-plugin</artifactId> 
     <version>1.0.1</version> 
     <executions> 
      <execution> 
      <id>enforce-property</id> 
      <goals> 
       <goal>enforce</goal> 
      </goals> 
      <phase>verify</phase> 
      <configuration> 
       <rules> 
       <requireProperty> 
        <property>tomcat.manager.url</property> 
        <message>You must set a tomcat manager url</message> 
       </requireProperty> 
       </rules> 
       <fail>true</fail> 
      </configuration> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 

プラグインは検証フェーズでのみ実行されるため、そのフェーズに達したビルドを実行している場合を除き、チェックは行われません。

関連する問題