2009-02-16 29 views
5

Tôi có một Dự án mà tôi phân phối bằng cách gửi các gói lớn. Tôi muốn biết liệu có cách nào thân thiện với người dùng khi sử dụng Maven để phân phối các cập nhật của dự án? Tôi cần một cái gì đó giống như những gì được thực hiện để cập nhật phần mềm như Firefox hoặc Acrobat Reader. Kiểm tra mặt nạ, cảnh báo người dùng cập nhật, tải xuống và cấu hình lại. Tất cả trong một giao diện đơn giản và thân thiện. Các dự án java nguồn mở thay thế được chào đón.Sử dụng Maven để phân phối dự án

Trả lời

1

Nếu dự án của bạn là thư viện: Bạn cần thiết lập public maven repository (hoặc sử dụng Maven Central). Bằng cách này, người dùng của bạn có thể tìm nạp phiên bản thư viện mới nhất bằng cách cập nhật POM của họ.

Nếu dự án của bạn là một thứ khác, bạn có thể sử dụng kho lưu trữ Maven để giữ các gói ở nơi dễ triển khai cho bạn (và dễ dàng tải xuống cho mọi người khác). Tiếp theo, bạn sẽ cần phải trỏ phần mềm của bạn đến trang web và tải xuống tệp "maven-metadata.xml" một lần trong một thời gian. Maven sẽ tạo và quản lý tệp này cho bạn khi bạn nói "mvn deploy". Tệp chứa số phiên bản mới nhất.

Tất cả những gì bạn phải làm là tải xuống tệp nhỏ này và kiểm tra. Nếu có phiên bản mới, hãy mở hộp thoại cho người dùng của bạn để họ có thể quyết định tải xuống. Tôi đề xuất cung cấp "Chỉ tải xuống" và "Tải xuống và nâng cấp" làm tùy chọn riêng biệt vì người dùng muốn tải xuống một chút thời gian trong nền và sau đó cài đặt giữa hai dự án. Họ không thích hộp thoại dai dẳng ("Phiên bản mới có sẵn. Tải xuống và hủy hoại ngày của bạn ngay bây giờ?" ... "Tôi đã hỏi năm phút trước. Tải xuống ngay bây giờ!" ... "Tải xuống anyway. Chi tiết thẻ tín dụng được tìm thấy trên ổ cứng của bạn Chọn phần mềm quan trọng khác mà bạn cần. Mua ngay bây giờ. Chúc một ngày tốt đẹp! ";)).

0

Tôi không nghĩ rằng maven có cách nào tiêu chuẩn để cung cấp chức năng này. Maven không có khái niệm "release" và "deploy", nhưng chúng không áp dụng cho kịch bản mà bạn đang mô tả.

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