2012-04-19 34 views
18

Tôi gặp sự cố liên quan đến các phiên bản plugin.Plugin "phiên bản" của Maven - cách loại trừ phiên bản alpha/beta khỏi phản hồi?

Khi nó tạo ra một báo cáo với mục tiêu:

mvn versions:display-dependency-updates 

Nó cho thấy là rất nhiều thư viện với beta hay alpha phiên bản.

org.hibernate:hibernate-validator ......... 4.2.0.Final -> 4.3.0.Beta1 

Vấn đề là mục tiêu của plugin này là hiển thị phiên bản mới nhất của mỗi phụ thuộc, tôi không muốn sử dụng phiên bản beta/alpha cho mã sản xuất. Nhưng tôi không muốn tìm kiếm phiên bản ổn định cuối cùng theo cách thủ công.

Tôi đã thử tùy chọn 'compareMethod': số, maven, v.v. Không thành công.

Bất kỳ ý tưởng nào về phiên bản plugin 'để hiển thị các phiên bản phụ thuộc có sẵn của latests, nhưng không bao gồm beta/alpha?

Trả lời

15

Bạn có thể cấu hình các phiên bản plug-in như thế này:

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>versions-maven-plugin</artifactId> 
    <version>2.1</version> 
    <configuration> 
     <rulesUri>someUrl</rulesUri> 
    </configuration> 
</plugin> 

someUrl cũng có thể là một URL tập tin. Cú pháp của tệp quy tắc được đưa ra trong http://www.mojohaus.org/versions-maven-plugin/version-rules.html, nó có thể chứa một cái gì đó như thế này:

<ignoreVersions> 
    <ignoreVersion type="regex">.*-beta.</ignoreVersion> 
    <ignoreVersion type="regex">.*_ALPHA</ignoreVersion> 
</ignoreVersions> 
+3

Giải thích hay. Cuối cùng tôi đã cập nhật POM chung của mình bằng ví dụ này. [Cam kết này] (https://github.com/jjzabkar/jjz-base-pom/commit/faac44c8a6ca0831fcdd89459628c77363045bb1) cho thấy việc triển khai. –

+0

Đoạn mã thứ hai của bạn không được định dạng đúng, có một 'e' thiếu trong thẻ đóng. :-) – mle

+0

Một sự xấu hổ phải mất hơn một năm để mọi người chú ý. –

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