2011-01-11 32 views
15

POM mà dự án của tôi thừa kế có chứa một số <pluginManagement> cho plugin release chỉ định một số bổ sung arguments.Ghi đè cấu hình plugin Maven được xác định trong plugin pluginManagement từ dòng lệnh

Câu hỏi của tôi là: Có cách nào để ghi đè tham số arguments từ dòng lệnh trong trường hợp này không?

Các POM mẹ có này:

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>-Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 

Do đó các đối số dòng lệnh không hoạt động:

mvn release:prepare -Darguments="-Pmock -Prelease" 

Phần -Darguments="-Pmock -Prelease" không có tác dụng. Khi arguments chưa được chỉ định, nó hoạt động.

Tôi không thể sửa đổi POM mẹ hoặc không sử dụng nó.

Trả lời

10

Tìm giải pháp. Trong my POM tôi thêm tính năng này ghi đè cài đặt trong số cha mẹ POM và cho phép chỉ định các đối số bổ sung trên dòng lệnh, ví dụ: -Darguments=-Pmock

<pluginManagement> 
    <plugin> 
     <artifactId>maven-release-plugin</artifactId> 
     <configuration> 
      <arguments>${arguments} -Prelease</arguments> 
     </configuration> 
    </plugin> 
</pluginManagement> 
6

Bạn không có thể ghi đè một cấu hình, mà đã được thiết lập trong POM (xem Maven Bug MNG-4979). Bạn có thể sử dụng các biến để tránh hành vi này. Đoạn trích câu trả lời của bạn sử dụng nó.

+0

Đã cập nhật liên kết cho MNG-4979: https://issues.apache.org/jira/browse/MNG-4979 – erwaman

+0

Cảm ơn. Tôi đã cập nhật liên kết trong nhận xét. –

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