Cách cài đặt sạch mvn của mvn khác với cài đặt mvn khác như thế nào?


Câu trả lời:


214

cleanlà giai đoạn vòng đời xây dựng riêng của nó (có thể được coi là một hành động hoặc nhiệm vụ) trong Maven. mvn clean installbảo Maven thực hiện cleanpha trong mỗi mô-đun trước khi chạy installpha cho từng mô-đun.

Những gì nó làm là rõ ràng bất kỳ tệp được biên dịch nào bạn có, đảm bảo rằng bạn thực sự biên dịch từng mô-đun từ đầu.


13
Tôi luôn nghĩ cài đặt bao gồm sạch như một trong những giai đoạn của nó ... cho đến khi tôi thấy điều này
Junchen Liu

14
@shanyangqu Đáng buồn thay, không. cleanlà trong một vòng đời riêng biệt , vì vậy nó không được gọi theo mặc định.
Powerlord 17/03/2015

47

Maven cho phép bạn chỉ định các mục tiêu hoặc các giai đoạn trong vòng đời trên dòng lệnh (hoặc cả hai).

cleaninstallhai giai đoạn vòng đời khác nhau , theo đó các thực thi plugin khác nhau bị ràng buộc (theo mặc định hoặc rõ ràng trong tệp pom.xml của bạn )

Các cleangiai đoạn, mỗi ước, có nghĩa là để làm một xây dựng tái sản xuất, tức là nó làm sạch lên bất cứ thứ gì được tạo ra bởi phiên bản trước. Trong hầu hết các trường hợp, nó thực hiện điều đó bằng cách gọi clean:clean, sẽ xóa thư mục bị ràng buộc ${project.build.directory}(thường được gọi là "đích")


6
"cài đặt" không phải là vòng đời. Đó là một giai đoạn trong vòng đời mặc định. Mặc dù có vòng đời "sạch", nhưng AFAIK tham số này chỉ định pha "sạch" trong vòng đời "sạch", chứ không phải là vòng đời "sạch".
Puce

1
@Puce đúng, ý tôi là "Giai đoạn", không phải vòng đời
Sean Patrick Floyd

38

Bạn có thể gọi nhiều mục tiêu mục tiêu bằng maven. mvn clean installGọi cleantrước, sau đó install. Bạn phải dọn dẹp thủ công, vì sạch sẽ không phải là mục tiêu mục tiêu tiêu chuẩn và không được thực hiện tự động trên mỗi lần cài đặt.

cleanxóa thư mục đích - nó xóa tất cả các tệp lớp, tài liệu java, tệp, báo cáo, v.v. Nếu bạn không clean, thì maven sẽ chỉ "làm những gì phải làm", giống như nó sẽ không biên dịch các lớp khi các tệp nguồn tương ứng không thay đổi (một cách ngắn gọn).

chúng tôi gọi nó là mục tiêu trong kiến ​​và mục tiêu trong maven


1
Tôi nghĩ trong bối cảnh này sạch sẽ và cài đặt là các giai đoạn vòng đời, không phải mục tiêu.
JL_SO


4

Ditto cho @Andreas_D, ngoài ra, nếu bạn nói cập nhật Spring từ 1 phiên bản này sang phiên bản khác trong dự án của bạn mà không làm sạch, bạn sẽ kết thúc với cả hai trong tạo phẩm của mình. Chạy vào đây rất nhiều khi thực hiện phát triển Flex với Maven.

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.