2013-07-03 33 views
5

Trong POM mẹ, tôi có:Có thể ghi đè lên các thực thi trong trình quản lý plugin không?

<pluginManagement> 
      <plugin> 
       <artifactId>maven-resources-plugin</artifactId> 
       <version>2.5</version> 
       <executions> 
        <execution> 
         <id>execution 1</id> 
         ... 
        </execution> 
        <execution> 
         <id>execution 2</id> 
         ... 
        </execution> 
        <execution> 
         <id>execution 3</id> 
         ... 
        </execution> 
       </executions> 
      </plugin> 
     <pluginManagement> 

Câu hỏi của tôi là:

  1. Có thể vô hiệu hóa một số <execution> trong tiểu dự án, ví dụ, chỉ chạy execution 3 và bỏ qua 1 và 2?
  2. Có thể ghi đè hoàn toàn việc thực thi trong các dự án phụ hay không, ví dụ: Tôi có một số exection 4 trong các tiểu dự án của tôi và tôi chỉ muốn chạy số này execution và không bao giờ chạy thực thi 1,2,3 trong POM mẹ.
+1

Giải pháp được đề xuất cho chúng tôi Các thuộc tính POM cho mỗi dự án để kích hoạt hồ sơ sẽ không hoạt động vì chỉ có các thuộc tính hệ thống chung mới có thể được sử dụng cho việc này. –

Trả lời

9

Tùy chọn nhanh là sử dụng <phase>none</phase> khi ghi đè mỗi lần thực thi. Vì vậy, ví dụ như để chạy thực hiện 3 duy nhất bạn sẽ làm như sau trong pom của bạn:

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.5</version> 
     <executions> 
      <execution> 
       <id>execution 1</id> 
       <phase>none</phase> 
       ... 
      </execution> 
      <execution> 
       <id>execution 2</id> 
       <phase>none</phase> 
       ... 
      </execution> 
      <execution> 
       <id>execution 3</id> 
       ... 
      </execution> 
     </executions> 
    </plugin> 
    ... 
    </plugins> 
    ... 
</build> 

Cần lưu ý rằng đây không phải là một tính năng chính thức ghi nhận, vì vậy hỗ trợ cho điều này có thể được gỡ bỏ bất cứ lúc nào.

Các đề nghị giải pháp có lẽ sẽ là để xác định profilesactivation phần định nghĩa:

<profile> 
    <id>execution3</id> 
    <activation> 
    <property> 
     <name>maven.resources.plugin.execution3</name> 
     <value>true</value> 
    </property> 
    </activation> 
    ... 

Các dự án phụ của bạn, bạn sẽ chỉ cần thiết lập các thuộc tính cần thiết:

<properties> 
    <maven.resources.plugin.execution3>true</maven.resources.plugin.execution3> 
</properties> 

tin chi tiết về hồ sơ kích hoạt có thể được tìm thấy tại đây: http://maven.apache.org/settings.html#Activation

Các vấn đề liên quan