Liệt kê tất cả các mục tiêu có thể có trong Maven 2?


105

Tôi mới đến với Maven, đến từ thế giới Kiến.

Có thể liệt kê tất cả các mục tiêu khả thi (bao gồm, chẳng hạn như tất cả các plugin) mà bạn có thể chạy không?

Tôi có thể thấy rằng đã từng có một -glá cờ trong Maven 1, nhưng điều này không có trong phiên bản 2.


4
Nó khiến tôi phát điên rằng maven không thể trả lời câu hỏi này nếu không có các trang xml! Đồ tốt!
Kieveli

Câu trả lời:


120

Mục tiêu bạn chỉ ra trong dòng lệnh được liên kết với vòng đời của Maven. Ví dụ: buildvòng đời (bạn cũng có cleansitevòng đời khác nhau) bao gồm các giai đoạn sau:

  • validate: xác nhận dự án là chính xác và tất cả các thông tin cần thiết có sẵn.
  • compile: biên dịch mã nguồn của dự án.
  • test: kiểm tra mã nguồn đã biên dịch bằng cách sử dụng khung kiểm thử đơn vị phù hợp. Các thử nghiệm này không yêu cầu mã được đóng gói hoặc triển khai.
  • package: lấy mã đã biên dịch và đóng gói nó ở định dạng có thể phân phối, chẳng hạn như JAR.
  • integration-test: xử lý và triển khai gói nếu cần thiết vào một môi trường có thể chạy các bài kiểm tra tích hợp.
  • verify: chạy bất kỳ kiểm tra nào để xác minh gói hàng hợp lệ và đáp ứng tiêu chí chất lượng
  • install: cài đặt gói vào kho lưu trữ cục bộ, để sử dụng như một phần phụ thuộc trong các dự án khác cục bộ.
  • deploy: được thực hiện trong môi trường tích hợp hoặc phát hành, 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.

Bạn có thể tìm thấy danh sách các plugin "cốt lõi" ở đây , nhưng có rất nhiều plugin khác, chẳng hạn như codehaus, tại đây .


1
hãy xem Tham khảo Vòng đời. Tất cả các bộ phận vòng đời được liệt kê ở đó.
Salandur

51

Có thể liệt kê tất cả các mục tiêu khả thi (bao gồm, chẳng hạn như tất cả các plugin) mà nó có thể chạy được không?

Maven không có bất kỳ thứ gì được tích hợp sẵn cho điều đó, mặc dù danh sách các giai đoạn là hữu hạn (danh sách các mục tiêu plugin không có vì danh sách các plugin không có).

Nhưng bạn có thể làm mọi thứ dễ dàng hơn và tận dụng sức mạnh của hoàn thành bash (sử dụng cygwin nếu bạn đang sử dụng Windows) như được mô tả trong Hướng dẫn hoàn thành tự động Maven 2.x bằng BASH (nhưng trước khi chọn tập lệnh từ hướng dẫn này, hãy đọc thêm ).

Để mọi thứ hoạt động, trước tiên hãy làm theo hướng dẫn này để thiết lập hoàn tất bash trên máy tính của bạn. Sau đó, đã đến lúc lấy một tập lệnh cho Maven2 và:

  • Trong khi bạn có thể sử dụng cái từ hướng dẫn nhỏ
  • Khi bạn sử dụng phiên bản cải tiến gắn với MNG-3928
  • Mặc dù bạn có thể sử dụng một tập lệnh ngẫu nhiên được tìm thấy trên mạng (hãy xem các tài nguyên nếu bạn tò mò)
  • Cá nhân tôi sử dụng tập lệnh Hoàn thành Bash từ PPA của Ludovic Claude (được đóng gói trong phiên bản đóng gói của mavenUbuntu) mà bạn có thể tải xuống từ HEAD. Nó chỉ đơn giản là một trong những tốt nhất .

Dưới đây, đây là những gì tôi nhận được chỉ để minh họa kết quả:

$ mvn [tab] [tab]
 Hiển thị tất cả 377 khả năng? (y hoặc n)
ant: con kiến 
kiến: sạch sẽ 
kiến: giúp đỡ 
antrun: giúp đỡ 
antrun: chạy 
archetype: thu thập thông tin 
archetype: tạo 
archetype: tạo từ dự án 
archetype: tạo 
archetype: trợ giúp 
assembly: lắp ráp 
assembly: thư mục 
assembly: directory-single 
lắp ráp: giúp đỡ 
lắp ráp: đơn  
... 

Tất nhiên, tôi không bao giờ duyệt qua 377 khả năng, tôi sử dụng sự hoàn thành. Nhưng điều này cung cấp cho bạn một ý tưởng về kích thước của danh sách "a" :)

Tài nguyên


2
Tôi vẫn chưa xem qua, nhưng liệu Maven Shellcông cụ mới có cung cấp tự động hoàn thành, có thể hữu ích ở đây không?
Romain Linsolas

2
@romain Không, mvnshkhông cung cấp quá trình hoàn thành (ít nhất là không có trong phiên bản tôi có trên máy của mình). Tôi đã kiểm tra trước khi trả lời :)
Pascal Thivent

7

Nếu bạn sử dụng IntelliJ IDEA, bạn có thể duyệt qua tất cả các mục tiêu / nhiệm vụ của maven (bao gồm cả các plugin) trong Maven Projectstab:

Dự án Maven


2
Tôi muốn làm điều này thông qua một số lệnh. IntelliJ IDEA thực hiện nó như thế nào?
nacho4d

0

Hãy làm cho nó rất đơn giản:

Maven Lifecycles: 1. Clean 2. Default (xây dựng) 3. Site

Các giai đoạn Maven của Vòng đời mặc định: 1. Xác thực 2. Biên dịch 3. Kiểm tra 4. Gói 5. Xác minh 6. Cài đặt 7. Triển khai

Lưu ý: Đừng trộn lẫn hoặc nhầm lẫn với các mục tiêu maven với vòng đời của maven.

Xem Kiến thức cơ bản về xây dựng vòng đời của Maven 1


0

Vòng đời xây dựng được tạo thành từ các giai đoạn

Mỗi vòng đời xây dựng này được xác định bởi một danh sách các giai đoạn xây dựng khác nhau, trong đó giai đoạn xây dựng đại diện cho một giai đoạn trong vòng đời.

Ví dụ: vòng đời mặc định bao gồm các giai đoạn sau (để biết danh sách đầy đủ các giai đoạn vòng đời, hãy tham khảo Tham khảo vòng đời):

  • xác thực - xác nhận dự án là chính xác và tất cả các thông tin cần thiết đều có sẵn
  • biên dịch - biên dịch mã nguồn của dự án
  • kiểm tra - kiểm tra mã nguồn đã biên dịch bằng cách sử dụng khung kiểm thử đơn vị phù hợp. Các thử nghiệm này không yêu cầu mã được đóng gói hoặc triển khai
  • gói - lấy mã đã biên dịch và đóng gói nó ở định dạng có thể phân phối, chẳng hạn như JAR. xác minh - chạy bất kỳ kiểm tra nào về kết quả của các bài kiểm tra tích hợp để đảm bảo đáp ứng các tiêu chí chất lượng
  • cài đặt - cài đặt gói vào kho lưu trữ cục bộ, để sử dụng như một phần phụ thuộc trong các dự án khác cục bộ
  • triển khai - được thực hiện trong môi trường xây dựng, 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.

Các giai đoạn vòng đời này (cộng với các giai đoạn vòng đời khác không được hiển thị ở đây) được thực thi tuần tự để hoàn thành vòng đời mặc định. Với các giai đoạn vòng đời ở trên, điều này có nghĩa là khi vòng đời mặc định được sử dụng, Maven trước tiên sẽ xác thực dự án, sau đó sẽ cố gắng biên dịch các nguồn, chạy các nguồn đó so với các thử nghiệm, đóng gói các tệp nhị phân (ví dụ: jar), chạy các thử nghiệm tích hợp đối với gói, xác minh các bài kiểm tra tích hợp, cài đặt gói đã được xác minh vào kho lưu trữ cục bộ, sau đó triển khai gói đã cài đặt đến kho lưu trữ từ xa.

Nguồn: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

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.