2015-03-30 16 views
12

Vì vậy, tôi đang cố gắng sử dụng phiên bản mới nhất của một số plugin. Trước đó tôi đã sử dụng thẻ điều kiện tiên quyết nhưng rất nhiều tài nguyên (example) nói rằng nó nên được coi là không được dùng nữa và thay vào đó, plugin maven-enforcer-được sử dụng. đây là cấu hình của tôi:phiên bản: display-plugin-updates không hiểu maven-enforcer-plugin

<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.4</version> 
      </requireMavenVersion> 
     </rules> 
     <fail>true</fail> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 

Tuy nhiên, khi tôi chạy phiên bản mvn: hiển thị-plugin cập nhật tôi vẫn nhận được văn bản này:

[ERROR] Project does not define required minimum version of Maven. 
[ERROR] Update the pom.xml to contain 
[ERROR]  <prerequisites> 
[ERROR]  <maven>3.0</maven> 
[ERROR]  </prerequisites> 
[INFO] 
[INFO] Require Maven 2.0.6 to use the following plugin updates: 
[INFO] maven-jar-plugin ................................................ 2.4 
[INFO] maven-shade-plugin ............................................ 1.7.1 
[INFO] 
[INFO] Require Maven 2.2.1 to use the following plugin updates: 
[INFO] maven-jar-plugin ................................................ 2.6 
[INFO] 
[INFO] Require Maven 3.0 to use the following plugin updates: 
[INFO] maven-shade-plugin .............................................. 2.3 

Sử dụng điều kiện tiên quyết-tag thay vì hoạt động.

+4

https://jira.codehaus.org/browse/MVERSIONS-272. –

+0

Bạn sử dụng phiên bản Maven nào? – khmarbaise

+0

3.3.1 Có vẻ như Aleksandr M là hoàn toàn tại chỗ trên – Richo

Trả lời

6

Có vẻ như vấn đề này đã được báo cáo here (tín dụng đi đến Aleksandr M để tìm kiếm điều này).

Rõ ràng, hiển thị-phụ thuộc chống phần mềm độc mục tiêu dựa trên các yếu tố prerequisites để tìm ra phiên bản Maven theo yêu cầu của dự án hiện tại và hoàn toàn bỏ qua các cơ quan thực thi-plugin, mặc dù điều kiện tiên quyết-tag không nên sử dụng bình thường , nó là cần thiết để có được plugin phụ thuộc để hành xử như mong đợi.

+0

Khi bạn viết các plugin, bạn thường có các plugin khác làm phụ thuộc. Thẻ điều kiện tiên quyết đã được thực hiện để đảm bảo các plugin biết dự án được yêu cầu phiên bản nào - và trong một số trường hợp KHÔNG chạy. Enforcer là dành cho các dự án không phải plugin, AFAI hiểu. –

+2

Lỗi này hiện có thể tìm thấy tại https://github.com/mojohaus/versions-maven-plugin/issues/48 – davidwebster48

-2

Các điều kiện tiên quyết không được dùng cho Maven 3.x:

http://jira.codehaus.org/browse/MNG-4840 http://jira.codehaus.org/browse/MNG-5297

Hơn nữa, nếu bạn gọi

mvn versions:display-plugin-updates 

bạn không bắt đầu một chu kỳ cuộc sống trong khi cấu hình của maven- của bạn plugin thực thi được ràng buộc với vòng đời.

Ngoài ra, bạn nên ghim tất cả các phiên bản plugin bạn đang sử dụng trong bản dựng của mình.

Và một điều rất quan trọng (trích đoạn từ FAQ):

Thẻ điều kiện tiên quyết được thiết kế để được sử dụng bởi các công cụ như plugins. Nó sẽ hoạt động cho các dự án thông thường, nhưng nó không được thừa hưởng cho con cái của chúng. Nếu nó được đặt trong lò phản ứng gốc, thì Maven sẽ thực hiện kiểm tra . Tuy nhiên nếu một trong các trẻ em được xây dựng, kiểm tra không được thực hiện . Plugin thực thi được thiết kế để cho phép kiểm soát tập trung trên môi trường xây dựng từ một "siêu khối" duy nhất và để cho phép tính linh hoạt cao hơn trong đặc tả phiên bản bằng cách hỗ trợ phạm vi .

Điều này có nghĩa chỉ khi các plugin đang phát triển của bạn điều kiện tiên quyết có ý nghĩa hạn chế tốt hơn khi sử dụng đường dẫn trình bổ sung maven-enforcer-plugin. Đối với dự án phát triển thông thường, hãy sử dụng cách cấu hình trình cắm thêm maven-enforcer-plugin để buộc các phiên bản Maven cụ thể.

Để được thông báo về cập nhật plugin, tôi có thể khuyên bạn nên đăng ký Announcment mailing list hoặc nếu bạn muốn xem tổng quan tốt, hãy xem plugins page.

+0

Vâng tôi biết, vấn đề của tôi là trình bổ sung maven-executecer (thay thế điều kiện tiên quyết) không 't work – Richo

+0

Ý của bạn là gì: Không hoạt động? – khmarbaise

+2

khi tôi chạy phiên bản mvn: display-plugin-updates Tôi vẫn nhận được văn bản này , xem bài đăng gốc của tôi. Ngoài ra xem Aleksandr M, ông đã xác định được vấn đề – Richo

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