2010-04-21 30 views
123

Có plugin Maven nào cho phép bạn kiểm tra xem có các phiên bản phụ thuộc mới hơn có sẵn trong kho lưu trữ không?Maven kiểm tra các phụ thuộc được cập nhật trong kho

Giả sử bạn đang sử dụng X phụ thuộc với phiên bản 1.2. Bây giờ một phiên bản mới của X được phát hành với phiên bản 1.3. Tôi muốn biết, dựa trên các phụ thuộc được sử dụng trong dự án của tôi, phụ thuộc nào có các phiên bản mới hơn có sẵn.

+0

Câu hỏi liên quan: http://stackoverflow.com/questions/431332/. –

Trả lời

222

Các Maven Versions plugindisplay-dependency-updates mojo của nó là những gì bạn đang tìm kiếm:

mvn versions:display-dependency-updates

Đây là những gì đầu ra trông giống như:

[INFO] ------------------------------------------------------------------------ 
[INFO] Building Build Helper Maven Plugin 
[INFO] task-segment: [versions:display-dependency-updates] 
[INFO] ------------------------------------------------------------------------ 
[INFO] [versions:display-dependency-updates] 
[INFO] 
[INFO] The following dependency updates are available: 
[INFO] org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9 
[INFO] org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9 
[INFO] org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9 
[INFO] org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESSFUL 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 17 seconds 
[INFO] Finished at: Fri Aug 15 10:46:03 IST 2008 
[INFO] Final Memory: 10M/167M 
[INFO] ------------------------------------------------------------------------ 
+0

Cảm ơn Pascal. Đó là những gì tôi đang tìm kiếm. Mặc dù, cho phiên bản Spring 3.0.1.RELEASE nó báo cáo một phiên bản mới hơn 2.5.6. Có thể một lỗi trong plugin? – froethen

+0

@Felix Bạn được chào đón. Về tạo tác mùa xuân, tôi tự hỏi nếu vấn đề không phải là do thực tế là Spring không tuân theo ["quy tắc"] (http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+ Độ phân giải): phiên bản phải là 3.0.1-RELEASE, không phải 3.0.1.RELEASE.Nói cách khác, tôi không chắc chắn đó là một lỗi (ý tôi là, chắc chắn, tôi mong đợi các plugin để báo cáo 3.0.1.RELEASE như mới hơn quá, nhưng tôi không chắc chắn điều này sẽ được chấp nhận như là một lỗi). –

+1

Kiểm tra cập nhật 'maven-plugin-api' cũng có thể được sử dụng để kiểm tra các phiên bản Maven mới hơn vì phiên bản mới của sự phụ thuộc này được phát hành cho mọi bản phát hành của Maven. – Tunaki

3

Bạn có thể sử dụng phiên bản Maven Plugin [ 1] để tạo báo cáo trong trang Maven của bạn để nhận danh sách các cập nhật có thể có. Đối với bất thường của Spring, nó xuất hiện để sử dụng hệ thống phiên bản Mercury [2]. Khi cấu hình các plugin phiên bản, bạn có thể thêm một quy tắc đặc biệt cho các công cụ Xuân:

  1. http://mojo.codehaus.org/versions-maven-plugin/
  2. http://docs.codehaus.org/display/MAVEN/Mercury+Version+Ranges
+2

bạn có thể cung cấp một ví dụ? – Zarathustra

26

Nếu bạn muốn nhận thông báo email khi mới hơn phiên bản hiện vật có sẵn trên Maven Central bạn có thể tạo tài khoản trên artifact-listener và chọn tạo tác bạn muốn theo dõi.
Bạn có thể tìm kiếm thủ công các tạo tác hoặc tải lên trực tiếp tệp pom.xml của mình.

thông báo

Bạn định kỳ sẽ nhận được như thế này (có sẵn bằng tiếng Anh và tiếng Pháp cho bây giờ):

Maven artifact listener

17

Các VersionEye Maven Plugin đang làm giống nhau: versioneye_maven_plugin.

VersionEye cũng có thể thông báo cho bạn về các phiên bản mới trên Kho lưu trữ Maven. Nó là một công cụ bất khả tri ngôn ngữ và bên cạnh Java nó hỗ trợ 7 ngôn ngữ khác. Bên cạnh tính năng theo dõi/thông báo đơn giản, nó cũng có thể giám sát trực tiếp kho lưu trữ GitHub và BitBucket và thông báo cho bạn về các phụ thuộc không cập nhật trong các dự án của bạn.

enter image description here

Ngoài ra còn có một REST JSON API, cho tích hợp công cụ.

Nhân tiện, tôi là anh chàng đã bắt đầu dự án này. Hãy cho tôi biết nếu bạn có thắc mắc.

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