2009-04-24 34 views
20

Tôi đang sử dụng phiên bản maven-ear-plugin 2.3.1 - Tôi biết có phiên bản mới có sẵn: http://maven.apache.org/plugins/maven-ear-plugin/Tôi làm cách nào để nâng cấp phiên bản của plugin maven?

Tôi không thể tìm hiểu cách nâng cấp lên phiên bản mới nhất ??

+0

Bạn có chắc chắn không nhận được phiên bản mới nhất không? maven sẽ có xu hướng làm điều này cho bạn một cách tự động. –

Trả lời

15

Phiên bản plugin mặc định được kế thừa từ Super POM và bạn có thể kiểm tra chúng bằng mvn help:effective-pom.

Nếu bạn muốn ghi đè phiên bản được cung cấp ở đó, thêm video này vào POM của bạn:

<project> 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-ear-plugin</artifactId> 
     <version>2.3.1</version> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

Thay thế phiên bản với những gì bạn cần.

+0

Điều gì về trường hợp các plugin được sử dụng từ dòng lệnh mà không có bất kỳ POM nào, chẳng hạn như maven-install-plugin? Ví dụ: tôi đã cố cài đặt một cái lọ trong kho lưu trữ cục bộ của mình bằng cách làm theo các bước sau: https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html Đoạn cuối cùng chúng đề cập đến Tính năng thú vị từ maven-install-plugin phiên bản 2.5, nhưng bất cứ khi nào tôi chạy lệnh, maven-3.3.9 đang sử dụng phiên bản 2.4 của plugin, mặc dù tôi cũng có phiên bản 2.5.2 trong repo. Tôi thậm chí đã cố gắng xóa 2.4 từ repo của tôi, nhưng maven re-dowloaded nó. Tôi có thể cấu hình nó ở đâu? –

+0

Ok, tôi đã tìm thấy câu trả lời cho câu hỏi của mình ở đây: http: // stackoverflow.com/questions/25155639/how-do-i-force-maven-to-use-maven-install-plugin-phiên bản-2-5 –

2

Một số plugin maven bị giới hạn ở phiên bản maven. Ví dụ, các dự án chung quanh đây sử dụng Maven 2.0.4, được giới hạn sử dụng plugin chiến tranh 2.0.2 - điều này làm việc với các lớp phủ. 2.1-alpha bất cứ điều gì, tuy nhiên, Maven 2.0.9 sử dụng, không - vì vậy chúng tôi đã phải hạ cấp bằng tay. Maven, trừ khi được hướng dẫn khác, sẽ cố gắng sử dụng phiên bản plugin mới nhất có thể theo phiên bản của plugin đó.

8

Cách phiên bản plugin được chọn, cùng với thảo luận về các phiên bản plugin trong superpom được nêu chi tiết here.

Thực ra câu trả lời hiện được chọn không hoàn toàn đúng. Nó phải là

<project> 
    <build> 
    <pluginManagement> 
    <plugins> 
     <plugin> 
     <artifactId>maven-ear-plugin</artifactId> 
     <version>2.3.1</version> 
     </plugin> 
    </plugins> 
    </pluginManagement> 
    </build> 
</project> 

tôi đã giải thích lý do tại sao here:.

"Phần bổ sung thường xuyên cũng cho phép các phiên bản và mặc định cấu hình phải được xác định, và đây là nơi mà sự nhầm lẫn nằm Đó là về mặt kỹ thuật có giá trị để xác định phiên bản plugin và cấu hình mặc định ở đây, nhưng tôi thấy dễ dàng hơn khi bị bẻ khóa khi tuân theo hướng dẫn này:

Nếu khối plugin không xác định thực thi (và do đó ràng buộc maven làm điều gì đó trong vòng đời), hãy đặt khối đó trong pluginManagment "

+0

liên kết đầu tiên bị hỏng – sergtk

+0

liên kết được sửa –

+0

Bạn nên đặt thông tin (hoặc tại ít nhất một bản tóm tắt) của các liên kết như đã nói trong phần trợ giúp, "Luôn trích dẫn phần có liên quan nhất của một liên kết quan trọng, trong trường hợp trang web mục tiêu không thể truy cập được hoặc vĩnh viễn ngoại tuyến". – PhoneixS

36

Mặc dù điều này đã nhận được "câu trả lời được phê duyệt", nhưng hóa ra là có AWESOME versions plugin xử lý sự cố bảo trì phiên bản không bao giờ xảy ra.

Đối với những người lười biếng đây là một số mục tiêu của mình:

  • phiên bản: hiển thị-phụ thuộc chống phần mềm độc quét phụ thuộc một của dự án và tạo ra một báo cáo của những người phụ thuộc mà có phiên bản mới hơn có sẵn.
  • phiên bản: display-plugin-updates quét các plugin của dự án và tạo báo cáo về các plugin có phiên bản mới hơn có sẵn.
  • phiên bản: display-property-updates quét dự án và tạo báo cáo về các thuộc tính được sử dụng để kiểm soát các phiên bản tạo tác và các phiên bản phù hợp có sẵn các phiên bản mới hơn.
  • phiên bản: cập nhật-parent cập nhật phần gốc của dự án để nó tham chiếu phiên bản mới nhất hiện có. Ví dụ: nếu bạn sử dụng POM gốc của công ty, mục tiêu này có thể hữu ích nếu bạn cần đảm bảo bạn đang sử dụng phiên bản POM gốc của công ty mới nhất.
  • phiên bản: thuộc tính cập nhật cập nhật các thuộc tính được xác định trong dự án sao cho chúng tương ứng với phiên bản mới nhất của phụ thuộc cụ thể. Điều này có thể hữu ích nếu một bộ phụ thuộc tất cả phải được khóa vào một phiên bản.
  • phiên bản: cập nhật-mô-đun con cập nhật phần cha mẹ của mô-đun con của dự án để phiên bản khớp với phiên bản của dự án hiện tại. Ví dụ, nếu bạn có một tập hợp pom cũng là cha mẹ cho các dự án mà nó tổng hợp và các phiên bản dành cho trẻ em và cha mẹ không đồng bộ, mojo này có thể giúp sửa các phiên bản của các mô-đun con. (Lưu ý bạn có thể cần phải gọi Maven với tùy chọn -N để chạy mục tiêu này nếu dự án của bạn bị hỏng quá nặng đến nỗi nó không thể xây dựng được do phiên bản phù hợp sai).
  • phiên bản: hình chụp nhanh tìm kiếm thông tin về tất cả các phiên bản -SNAPSHOT và thay thế chúng bằng phiên bản dấu thời gian hiện tại của -SNAPSHOT, ví dụ: -20090327.172306-4
  • phiên bản: mở khóa ảnh chụp nhanh tìm kiếm pom cho tất cả các phiên bản chụp nhanh dấu thời gian bị khóa và thay thế chúng bằng -SNAPSHOT.
  • phiên bản: đặt có thể được sử dụng để đặt phiên bản dự án từ dòng lệnh.
  • phiên bản: sử dụng bản phát hành tìm kiếm pom cho tất cả các phiên bản -SNAPSHOT đã được phát hành và thay thế chúng bằng phiên bản phát hành tương ứng.
  • phiên bản: sử dụng phiên bản tiếp theo tìm kiếm thông tin về tất cả các phiên bản không phải SNAPSHOT đã là bản phát hành mới hơn và thay thế chúng bằng phiên bản phát hành tiếp theo.
  • phiên bản: sử dụng phiên bản mới nhất tìm kiếm thông tin về tất cả các phiên bản không phải SNAPSHOT đã là bản phát hành mới hơn và thay thế chúng bằng phiên bản phát hành mới nhất.
  • phiên bản: sử dụng-ảnh chụp nhanh tiếp theo tìm kiếm pom cho tất cả các phiên bản không phải SNAPSHOT đã là phiên bản SNAPSHOT mới hơn và thay thế chúng bằng phiên bản SNAPSHOT tiếp theo.
  • phiên bản: sử dụng-ảnh chụp nhanh nhất tìm kiếm thông tin về tất cả các phiên bản không phải SNAPSHOT đã là phiên bản SNAPSHOT mới hơn và thay thế chúng bằng phiên bản SNAPSHOT mới nhất.
  • phiên bản: sử dụng phiên bản tiếp theo tìm kiếm thông tin về tất cả các phiên bản đã là phiên bản mới hơn và thay thế chúng bằng phiên bản tiếp theo.
  • phiên bản: sử dụng phiên bản mới nhất tìm kiếm thông tin về tất cả các phiên bản đã là phiên bản mới hơn và thay thế chúng bằng phiên bản mới nhất.
+0

Cảm ơn @Pat đã chia sẻ thông tin về plugin Maven tuyệt vời này! – kiwifrog

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