2011-11-19 55 views
40

Tôi mới sử dụng Maven và đang sử dụng maven.apache.orgtutorial here làm phần giới thiệu.Làm thế nào để tạo một dự án bằng cách sử dụng maven-archetype-plugin? ArtefactId là gì?

Trong "? Làm thế nào để thực hiện dự án Maven đầu tiên của tôi" phần của hướng dẫn, nó dạy chúng ta để tạo ra một dự án nguyên mẫu Maven bằng cách thực hiện lệnh sau:

mvn archetype:generate 

Sau Maven download nhiều hiện vật, nó đột nhiên dừng lại và hỏi những câu dưới đây trên dòng lệnh:

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 149: 

Apache hướng dẫn không mô tả nhắc nhở này.

Tôi có hai câu hỏi:

1. câu hỏi trên yêu cầu là gì? Làm thế nào nó phải được trả lời sao cho quy trình mvn archetype:generate tiếp tục?

2. Thông thường, mọi người có sử dụng mvn archetype:generate để tạo dự án Maven không?

Cập nhật -------------- ---------------------

đối với tôi Câu hỏi thứ nhất, tôi nhấn "enter" mà không nhập bất kỳ giá trị nào và nhận được kết quả sau:

Choose version: 
1: 1.0-alpha-1 
2: 1.0-alpha-2 
3: 1.0-alpha-3 
4: 1.0-alpha-4 
5: 1.0 
6: 1.1 
Choose a number: 6: 

Đó là gì?

tôi đầu vào "1" trong trường hợp trên, sau đó tôi nhận được những điều sau đây:

Define value for property 'package': : : 
Define value for property 'groupId': : 
Define value for property 'artifactId': : 
... 

Làm thế nào tôi có thể xác định họ?

Trả lời

4

Yêu cầu bạn chọn loại nguyên mẫu nào để gieo hạt cho dự án của bạn. Nếu bạn nhấn "enter" tại dấu nhắc đó, nó sẽ cung cấp cho bạn một danh sách các lựa chọn có sẵn. Bạn có thể sử dụng maven-archetype-quickstart để tạo một dự án đơn giản (nó có thể nhắc bạn chọn một kho lưu trữ sau này, trong trường hợp đó, chỉ cần nhập số tương ứng với kho lưu trữ đầu tiên được liệt kê sau khi bạn nhập).

Để trả lời câu hỏi khác của bạn: có, sử dụng nguyên mẫu là cách phổ biến để thiết lập dự án mới. Chủ yếu là vì có rất nhiều nguyên mẫu cho tất cả các loại dự án/mô-đun. Một khi bạn biết được nguyên mẫu bạn muốn, sử dụng nó để khởi động một dự án là cách đơn giản nhất để bắt đầu.

+0

@ Chris, vui lòng kiểm tra cập nhật của tôi trong bài đăng của tôi, tôi nhấn enter, nhưng có kết quả lạ. họ là ai? – Mellon

+0

đó là các phiên bản của nguyên mẫu có sẵn trong kho lưu trữ của bạn. Trừ khi bạn có lý do thuyết phục khác, bạn chỉ nên sử dụng phiên bản mới nhất (vì vậy trong trường hợp này là phiên bản 1.1) – Chris

+3

Bạn có thể tắt tất cả lời nhắc bằng cách sử dụng công tắc 'ineractiveMode = false'. Hãy thử 'mvn archetype: generate -DgroupId = com.mycompany -DartifactId = someProject -DinteractiveMode = false'. Hy vọng rằng sẽ giúp. –

39

mvn archetype:generate lệnh được sử dụng để tạo dự án từ mẫu hiện có. Có một số nguyên mẫu được xác định bởi nhiều nhà phát triển và nhóm dự án. Khi bạn chạy lệnh, maven thực hiện theo các bước sau:

  1. Tải xuống phiên bản mới nhất của maven-archetype-plugin.
  2. Liệt kê tất cả các nguyên mẫu có thể được sử dụng để tạo dự án. Nếu bạn đã định nghĩa một nguyên mẫu trong khi gọi lệnh, maven sẽ nhảy tới bước 4.
  3. Theo mặc định, maven chọn nguyên mẫu kiểu quạ-nhanh chóng về cơ bản tạo ra một dự án chào mời maven với nguồn và các lớp kiểm tra. Nếu bạn muốn tạo một dự án đơn giản, bạn chỉ cần nhấn enter để tiếp tục. Nếu bạn muốn tạo một loại ứng dụng cụ thể, bạn nên tìm nguyên mẫu phù hợp với nhu cầu của mình và nhập số lượng mẫu đó, sau đó nhấn enter. Ví dụ. Nếu bạn muốn tạo một dự án webapp, bạn có thể nhập 153 (đây là số hiện tại cho nguyên mẫu này, nó có thể thay đổi theo thời gian.)
  4. Vì nguyên mẫu là mẫu và chúng có ý định phản ánh thực tiễn tốt nhất hiện tại, chúng có thể phát triển thời gian, do đó họ có phiên bản riêng của họ. Maven sẽ hỏi bạn phiên bản nguyên mẫu nào bạn muốn sử dụng. Theo mặc định, maven chọn phiên bản mới nhất cho bạn. vì vậy nếu bạn đồng ý sử dụng phiên bản mới nhất của một nguyên mẫu, chỉ cần nhấn Enter ở bước này;
  5. Mỗi dự án maven (và mô-đun) có nhómId, artifactId và phiên bản. Maven sau đó sẽ hỏi những điều này cho bạn trong ba bước. groupId: Đây thường là duy nhất giữa một tổ chức hoặc một dự án. artifactId: artifactId thường là tên mà dự án được biết đến. Phiên bản: Đây là phần cuối cùng của câu đố đặt tên. (read more)
  6. Cuối cùng, maven sẽ hỏi bạn cấu trúc gói cho mã của bạn. Cách tốt nhất là tạo cấu trúc thư mục phản ánh groupId, do đó Maven đặt mặc định này là mặc định nhưng bạn có thể tự do thay đổi điều này.

Sau khi nhập thông tin này, Maven sẽ hiển thị cho bạn tất cả thông tin bạn đã nhập và yêu cầu bạn xác minh tạo dự án. Nếu bạn nhấn Y và sau đó nhập, thì đấy là dự án của bạn được tạo bằng tạo phẩm và cài đặt bạn đã chọn.

Bạn cũng có thể đọc trang web sử dụng của maven-archetype-plugin.

1

Xem nhanh hướng dẫn sẽ tiết lộ rằng bạn đã bỏ qua một số tham số cho nguyên mẫu: tạo lệnh. Đó là lý do tại sao nó không biết nguyên mẫu nào để chọn tạo dự án hướng dẫn của bạn và trình bày tất cả các kiểu mẫu có sẵn (149) cho bạn.

Câu hỏi đầu tiên: Bằng cách nhấn trở lại thì bạn đã chấp nhận đề xuất của plugin nguyên mẫu và chọn # 149. Nguyên mẫu này thoát trong các phiên bản khác nhau và bình thường, như đã nêu bởi Chris.

Câu hỏi thứ hai: Vì nguyên mẫu là loại mẫu có thể giúp bạn tiết kiệm rất nhiều công việc: Có điều đó phổ biến. Nhưng không phải là cách duy nhất - bạn luôn có thể bắt đầu với một dự án trống.

0

Bạn cũng có thể sử dụng các hình thức ngắn

mvn archetype:generate -Dfilter=org.example.group:example-artifact 

Hoặc thậm chí chỉ một nhóm:

mvn archetype:generate -Dfilter=org.example.group: 

Bạn sẽ nhận được các vật sau đây (trong trường hợp đầu tiên) nếu nó tồn tại ở bất kỳ cửa hàng cấu hình :

<groupId>org.example.group</groupId> 
<artifactId>example-artifact</artifactId> 

Hoặc bạn sẽ nhận được nhiều đề xuất nếu có nhiều hơn một ứng cử viên. Vì vậy, bạn sẽ phải chọn chúng bằng cách nhập chỉ mục được hiển thị trong danh sách choise.

Tham khảo maven website để biết thêm thông tin!

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