mvn cài đặt sạch so với triển khai so với phát hành


132

Tôi chỉ đang học maven, và gần đây chúng tôi cần phải đi nhiều hơn nữa. Tôi muốn biết sự khác biệt giữa

mvn clean install

mvn release

mvn deploy

Hãy mô tả càng tốt.

Câu trả lời:


223

Các clean, installdeploy giai đoạn có giá trị giai đoạn vòng đời và gọi họ sẽ kích hoạt tất cả các giai đoạn trước đó, và các mục tiêu liên kết với các giai đoạn.

mvn cài đặt sạch

Lệnh này gọi cleanpha và sau đó là installpha liên tục:

  • clean: xóa các tệp được tạo tại thời điểm xây dựng trong thư mục của dự án ( targettheo mặc định)
  • install: cài đặt gói vào kho lưu trữ cục bộ , để sử dụng như một phụ thuộc trong các dự án khác cục bộ .

triển khai mvn

Lệnh này gọi deploypha:

  • deploy: sao chép gói cuối cùng vào kho lưu trữ từ xa để chia sẻ với các nhà phát triển và dự án khác .

phát hành mvn

Đây không phải là một giai đoạn hợp lệ cũng không phải là một mục tiêu vì vậy điều này sẽ không làm gì cả. Nhưng nếu đề cập đến Plugin phát hành Maven được sử dụng để tự động hóa quản lý phát hành. Phát hành một dự án được thực hiện trong hai bước: prepareperform. Theo tài liệu:

Chuẩn bị một bản phát hành trải qua các giai đoạn phát hành sau:

  • Kiểm tra rằng không có thay đổi không được cam kết trong các nguồn
  • Kiểm tra xem không có phụ thuộc SNAPSHOT
  • Thay đổi phiên bản trong POM từ x-SNAPSHOT sang phiên bản mới (bạn sẽ được nhắc sử dụng các phiên bản)
  • Chuyển đổi thông tin SCM trong POM để bao gồm đích cuối cùng của thẻ
  • Chạy thử nghiệm dự án đối với các POM đã sửa đổi để xác nhận mọi thứ đang hoạt động tốt
  • Cam kết các POM đã sửa đổi
  • Gắn thẻ mã trong SCM với tên phiên bản (điều này sẽ được nhắc)
  • Tăng phiên bản trong POM thành giá trị mới y-SNAPSHOT (những giá trị này cũng sẽ được nhắc nhở)
  • Cam kết các POM đã sửa đổi

Và sau đó:

Thực hiện một bản phát hành chạy các giai đoạn phát hành sau:

  • Thanh toán từ một URL SCM với thẻ tùy chọn
  • Chạy các mục tiêu Maven được xác định trước để phát hành dự án (theo mặc định, triển khai triển khai trang web)

Xem thêm


1
Bạn có thể vui lòng làm rõ điều này: Đây không phải là một giai đoạn hợp lệ cũng không phải là một mục tiêu vì vậy điều này sẽ không làm gì cả. Nhưng nếu đề cập đến Plugin phát hành Maven. Nếu nó không phải là một pha cũng không phải là một mục tiêu, thì chúng ta gọi nó như thế nào?
gvlasov

26
  • mvn installsẽ đưa dự án maven đóng gói của bạn vào kho lưu trữ cục bộ , cho ứng dụng cục bộ sử dụng dự án của bạn làm phụ thuộc.
  • mvn release về cơ bản sẽ đặt mã hiện tại của bạn vào một thẻ trên SCM của bạn, thay đổi phiên bản của bạn trong các dự án của bạn.
  • mvn deploysẽ đưa dự án maven đóng gói của bạn vào một kho lưu trữ từ xa để chia sẻ với các nhà phát triển khác.

Tài nguyên :

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.