2011-06-24 47 views
19

Tôi muốn xây dựng một dự án đơn giản bằng cách sử dụng kiểu mẫu hiện có. Nhưng tôi không thể chạy mvn archetype:generate như nó giữ nói cho tôi những thông tin sau đâymvn archetype: tạo không hoạt động - không tìm thấy plugin nào cho tiền tố 'kiểu mẫu'

[ERROR] No plugin found for prefix 'archetype' in the current project and in the 
plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the 
repositories [local (C:\Documents and Settings\ccen\.m2\repository), central (ht 
tp://repo1.maven.org/maven2)] -> [Help 1] 

Tôi đã sử dụng MS Windows và không sử dụng bất kỳ settings.xml trong ~ thư mục của tôi/.m2 và tất cả các công cụ này là hoàn toàn mới. Bất kỳ ai có thể giúp tôi tìm ra nó?

Trả lời

17

Điều khác có thể xảy ra là máy của bạn ở phía sau tường lửa hoặc proxy để hộp của bạn không thể nhấn http://repo1.maven.org/maven2. Hãy thử truy cập URL này trực tiếp trong trình duyệt hoặc một cái gì đó để kiểm tra nếu bạn có thể đưa ra yêu cầu.

+0

Có chính xác, tôi đã trải qua nó. Tôi cần phải cấu hình một tấm gương của kho lưu trữ trung tâm trong công ty của tôi. Cảm ơn bạn đã giúp đỡ! –

+0

Tôi rất vui khi biết được vấn đề này. Công ty của tôi sử dụng Nexus (http://nexus.sonatype.org/) làm gương địa phương của Maven Central. Nexus có thể được cấu hình để tải xuống bất kỳ hiện vật nào mà nó không có để nó có thời gian tiếp theo rất tiện dụng, do đó bạn không phải tải xuống mọi thứ cùng một lúc. –

+0

@JesseWebb Tôi có thể truy cập http://repo1.maven.org/maven2, nhưng vẫn gặp lỗi tương tự. Đây có phải là tường lửa gây ra sự cố không? Tôi đã thay đổi tệp setting.xml nhưng vẫn không tốt – JavaQuest

14

Lệnh bạn nên sử dụng để tạo ra một dự án với một nguyên mẫu là ...

mvn archetype:generate 

Lệnh bạn được đăng trong câu hỏi của bạn đã sai (thiếu người đầu tiên 'e' trong nguyên mẫu). Tôi cho rằng đây chỉ là một lỗi đánh máy trong SO mặc dù vì lỗi bạn đã đăng có nguyên mẫu chính tả.

Tôi tin rằng lỗi này sẽ xảy ra nếu bạn đang cố thực hiện lệnh này từ thư mục đã có tệp pom.xml trong đó. Nó sẽ cố gắng tìm cấu hình plugin nguyên mẫu bên trong tệp pom.xml hiện có.

Hãy thử lại lệnh trong một thư mục trống hoặc ít nhất trong một tệp không có tệp pom.xml và tệp sẽ hoạt động.

+0

Xin chào Gweebz, vâng đó là lỗi đánh máy, tôi đã sử dụng mvn archetype: tạo và nó nằm trong một thư mục trống rỗng không có bất kỳ pom.xml nào, có thể tôi không thể truy cập vào repo1.maven.org/maven2? –

+0

Typo quá ... mặc dù tôi nghĩ bạn phải đùa vì nếu bạn viết sai chính tả (param) cho bất kỳ chương trình nào, nó sẽ cung cấp cho bạn "chương trình không xác định". Có vẻ như maven có archtype và archEtype flag? – luigi7up

+0

Crap :) bạn đã đúng! – phoad

9

Trong trường hợp bạn đang đứng sau tường lửa đồng bộ, hãy định cấu hình cài đặt proxy bằng "settings.xml" trong thư mục/conf tên người dùng, mật khẩu, máy chủ & giá trị cổng cần được cung cấp.

| 
<proxy> 
    <id>optional</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <username>proxyuser</username> 
    <password>proxypass</password> 
    <host>proxy.host.net</host> 
    <port>80</port> 
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts> 
</proxy> 

2

Một vấn đề với Windows (Vista, Windows 7 trở đi) là dấu nhắc lệnh nên chạy dưới quyền quản trị (Nhấp chuột phải lệnh phím tắt nhanh chóng và chọn "Run quản trị quảng cáo" nếu UAC đang bật), do đó, chỉ cần chạy lệnh nhắc làm Quản trị viên trước khi thực thi mvn archetype: generate.

Tôi đã gặp phải sự cố này khi tạo dự án vaadin 7 trong cửa sổ 7 bằng lệnh sau.

mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.1.8 -DgroupId=im.sma.testproject -DartifactId=testproject -Dversion=1.0 -Dpackaging=war 
  • SMA
5

Đây là vấn đề với tường lửa của bạn. Để kiểm tra xem tường lửa có bật hay không:

Nhấp vào Bắt đầu-> nhấp vào Chạy-> nhập wscui.cpl -> nhấp vào OK. Trong Trung tâm Bảo mật Windows-> bấm Bảo mật Nếu hoạt động mạng Tường lửa Mạng là "bật", bạn cần đặt proxy cho maven.

Đi tới/conf -> cài đặt mở.xml với notepad Proxy bỏ ghi chú (nếu bạn không nhớ cài đặt proxy u có thể kiểm tra trong webbrowser u r sử dụng)

<proxies> 
    <proxy> 
     <id>optional</id> 
     <active>true</active> 
     <protocol>http</protocol> 
     <username></username> 
     <password></password> 
     <host>www-proxy.us.oracle.com</host> 
     <port>80</port> 
     <nonProxyHosts></nonProxyHosts> 
    </proxy> 
</proxies> 

Bạn có thể để lại tên người dùng và các lĩnh vực pwd trống và thiết lập chỉ máy chủ và cổng.

+0

máy chủ và cổng có thể được tìm thấy trong cài đặt mạng của trình duyệt (cài đặt mạng LAN) – Vishal

0

Trong trường hợp của tôi giải pháp vừa chạy mvn archtype: tạo trong Chế độ an toàn trong hồ sơ người dùng của bạn. Sau đó tôi có thể chạy nó trong khởi động bình thường.

1
  • Để thêm Venerik's answer Tôi sẽ giải thích một chút cho những người dùng ngây thơ như tôi;

cài đặt proxy trong maven đi đến apache-maven-3.3.9 thư mục \ conf và tìm settings.xml mở nó trong bất kỳ trình soạn văn bản đi đến khối mã trông giống như dưới đây

<proxies> 
<!-- proxy 
| Specification for one proxy, to be used in connecting to the network. 
| 
<proxy> 
    <id>optional</id> 
    <active>true</active> 
    <protocol>http</protocol> 
    <username>proxyuser</username> 
    <password>proxypass</password> 
    <host>proxy.host.net</host> 
    <port>80</port> 
    <nonProxyHosts>local.net|some.host.com</nonProxyHosts> 
</proxy> 
--> 
</proxies> 
  • Bây giờ bỏ ghi chú mã từ (proxy .../proxy) bằng cách cắt nó và dán nó

ngay sau thẻ (proxi es).

Bây giờ thay đổi theo cài đặt proxy của bạn Trong trường hợp của tôi có vẻ như sau

<proxies> 
    <proxy> 
     <id>optional</id> 
     <active>true</active> 
     <protocol>http</protocol>  
     <host>authproxy.serc.iisc.ernet.in</host> 
     <port>3128</port> 
     <nonProxyHosts>local.net|some.host.com</nonProxyHosts> 
    </proxy> 
    <!-- proxy 
    | Specification for one proxy, to be used in connecting to the  network. 
| 
    --> 
    </proxies> 

Bây giờ thử chạy mvn archetype: tạo và nó sẽ chạy và tải

0

tôi giải quyết vấn đề này vô hiệu hóa phần mềm diệt vi rút trong một thời gian trong khi dự án được tạo.

Click here how to do that with avast

0

Tôi gặp vấn đề tương tự. Nguyên nhân gốc: gõ mvn generate: archetype thay vì archetype: generate.
mvn archetype: tạo - là cách chính xác.

+1

Đây không phải là câu trả lời. –

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