2013-08-27 30 views
10

Command:Maven: "Lỗi đọc Danh mục nguyên mẫu", KHÔNG đằng sau một Proxy

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=org.apache.solr -DartifactId=es-my-proj 

Lỗi (stack đầy đủ ở phía dưới):

... 
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --- 
[INFO] Generating project in Batch mode 
[WARNING] Error reading archetype catalog http://repo1.maven.org/maven2 
org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://repo1.maven.org/maven2 , ReasonPhrase:Denied Access. 
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:928) 
    ... 

Mỗi tìm kiếm google tôi đã thực hiện đi kèm với một trong những câu trả lời này, nhưng không có câu trả lời nào trong số này có thể áp dụng:

  • Đằng sau proxy - nhưng tôi không đứng sau proxy!
  • Một số lỗi trở lại trong năm 2010 với Maven 2.x, nhưng tôi trên Maven 3.0.5
  • đọc sai thiết lập tập tin, nhưng tôi thậm chí không có một tập tin ~/.m2/settings.xml

những điều khác tôi đã kiểm tra:

  • Mỗi lần tôi chắc chắn rằng không có thư mục và không có tập tin pom vv
  • Cũng cố gắng thêm -DarchetypeRepository = http://repo2.maven.org/maven2 nhưng cùng một kết quả
  • "Truy cập bị từ chối" là lẻ - Tôi có thể truy cập cả repo1 và repo2 từ trình duyệt (mặc dù máy chủ cho biết quá trình duyệt đã bị vô hiệu hóa)
  • Maven 3.0.5, Oracle Java 7 (1.7.0_25), trên Mountain Lion (OS X 10.8.4)

Nó tạo ra một dự án sử dụng một số mẫu 1x, tôi không biết làm thế nào tốt hay xấu.

Full stack trace:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=org.apache.solr -DartifactId=my-proj-name 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Maven Stub Project (No POM) 1 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>> 
[INFO] 
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<< 
[INFO] 
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --- 
[INFO] Generating project in Batch mode 
[WARNING] Error reading archetype catalog http://repo1.maven.org/maven2 
org.apache.maven.wagon.authorization.AuthorizationException: Access denied to: http://repo1.maven.org/maven2 , ReasonPhrase:Denied Access. 
    at org.apache.maven.wagon.shared.http4.AbstractHttpClientWagon.fillInputData(AbstractHttpClientWagon.java:928) 
    at org.apache.maven.wagon.StreamWagon.getInputStream(StreamWagon.java:116) 
    at org.apache.maven.wagon.StreamWagon.getIfNewer(StreamWagon.java:88) 
    at org.apache.maven.wagon.StreamWagon.get(StreamWagon.java:61) 
    at org.apache.maven.archetype.source.RemoteCatalogArchetypeDataSource.downloadCatalog(RemoteCatalogArchetypeDataSource.java:119) 
    at org.apache.maven.archetype.source.RemoteCatalogArchetypeDataSource.getArchetypeCatalog(RemoteCatalogArchetypeDataSource.java:87) 
    at org.apache.maven.archetype.DefaultArchetypeManager.getRemoteCatalog(DefaultArchetypeManager.java:216) 
    at org.apache.maven.archetype.DefaultArchetypeManager.getRemoteCatalog(DefaultArchetypeManager.java:205) 
    at org.apache.maven.archetype.ui.generation.DefaultArchetypeSelector.getArchetypesByCatalog(DefaultArchetypeSelector.java:200) 
    at org.apache.maven.archetype.ui.generation.DefaultArchetypeSelector.selectArchetype(DefaultArchetypeSelector.java:71) 
    at org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo.execute(CreateProjectFromArchetypeMojo.java:197) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
[WARNING] No archetype found in remote catalog. Defaulting to internal catalog 
[INFO] ---------------------------------------------------------------------------- 
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.0 
[INFO] ---------------------------------------------------------------------------- 
[INFO] Parameter: groupId, Value: org.apache.solr 
[INFO] Parameter: packageName, Value: org.apache.solr 
[INFO] Parameter: package, Value: org.apache.solr 
[INFO] Parameter: artifactId, Value: my-proj-name 
[INFO] Parameter: basedir, Value: /Users/mbennett/dev 
[INFO] Parameter: version, Value: 1.0-SNAPSHOT 
[INFO] project created from Old (1.x) Archetype in dir: /Users/mbennett/dev/my-proj-name 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.563s 
[INFO] Finished at: Tue Aug 27 11:47:28 PDT 2013 
[INFO] Final Memory: 15M/206M 
[INFO] ------------------------------------------------------------------------ 
+1

Tôi gặp vấn đề tương tự với Windows, maven 3.1 và 3.0.5 và Java 1.7.0_9. Thử nghiệm với lệnh của bạn và cũng từ InteliJ với một trong các nguyên mẫu được đề xuất bởi IDE. – mszalbach

+1

cùng một câu hỏi ở đây: http://stackoverflow.com/questions/18495426/maven-access-denied-to-http-repo1-maven-org-maven2. dường như làm việc với maven 2 – dermoritz

+0

@dermoritz Cảm ơn bạn đã liên kết, Google tiếp tục trả về các kết quả không có thật. Tôi cảm thấy thoải mái khi nhìn thấy (trong các bình luận trên bài viết khác) có bao nhiêu người khác đang đánh nó, tôi nghĩ rằng tôi đã đi hạt! –

Trả lời

2

Dường như kho lưu trữ trung tâm của Apache đã khắc phục sự cố. Vì vậy, mà không thực hiện bất kỳ thay đổi nào, sự cố đã được khắc phục ngay bây giờ. Vui lòng thử lại một lần nữa và cho chúng tôi biết trong trường hợp có bất kỳ vấn đề nào.

+0

Woo hoo! Dường như làm việc ngay bây giờ. –

2

Tôi đã nhận lỗi cùng ngày hôm qua. Tôi đã không hoàn thành để tìm ra giải pháp nhưng tôi có một ý tưởng tại sao chúng tôi có lỗi này.

Sau giờ đào trong maven-nguyên mẫu-plugin, tôi không để ý cái gì đó kỳ lạ ...

Vì vậy, tôi quyết định để chạy các lệnh tương tự một lần nữa với một tcpflow chạy để nắm bắt những yêu cầu sended. Đây là kết quả:

192.168.000.010.59775-185.031.016.185.00080: GET /maven2/archetype-catalog.xml HTTP/1.1 
Cache-control: no-cache 
Cache-store: no-store 
Pragma: no-cache 
Expires: 0 
Accept-Encoding: gzip 
Host: repo1.maven.org 
Connection: Keep-Alive 


185.031.016.185.00080-192.168.000.010.59775: HTTP/1.1 403 Denied Access 
Server: Varnish 
Retry-After: 0 
Content-Type: text/html; charset=utf-8 
Content-Length: 401 
Accept-Ranges: bytes 
Date: Fri, 30 Aug 2013 01:53:29 GMT 
Via: 1.1 varnish 
Age: 0 
Connection: close 
X-Served-By: cache-am70-AMS 
X-Cache: MISS 
X-Cache-Hits: 0 

Vì vậy, lỗi Guru Meditation. Tôi thích Varnish !! Sau đó, tôi nhận thấy bằng cách sử dụng netcat rằng, nếu bạn thêm một User-Agent (bất cứ điều gì) trong yêu cầu, tất cả mọi thứ hoạt động tốt !!

[07:49][[email protected]:~ :) ] $ nc repo1.maven.org 80 
GET /maven2/archetype-catalog.xml HTTP/1.1 
Cache-control: no-cache 
Cache-store: no-store 
Pragma: no-cache 
Expires: 0 
Accept-Encoding: gzip 
Host: repo1.maven.org 
Connection: Keep-Alive 
User-Agent: I have a dream... 

HTTP/1.1 200 OK 
Server: nginx/1.2.1 
Content-Type: text/xml 
Last-Modified: Tue, 27 Aug 2013 11:06:25 GMT 
Via: 1.1 varnish 
Content-Length: 1663366 
Accept-Ranges: bytes 
Date: Fri, 30 Aug 2013 05:50:09 GMT 
Via: 1.1 varnish 
Age: 81998 
Connection: keep-alive 
X-Served-By: cache-c32-CHI, cache-l22-LON 
X-Cache: HIT, HIT 
X-Cache-Hits: 5, 1 

Vì vậy, nếu bạn thêm tác nhân người dùng trong yêu cầu, mọi thứ sẽ hoạt động. Tôi nghĩ với settings.xml nhưng tôi không biết làm thế nào cho bây giờ.

+0

Một lý thuyết thực sự thú vị. Xem thêm chú thích ở trên từ dermoritz –

3

Nhóm Apache Maven phải đối mặt với cùng một vấn đề với một trong các thử nghiệm tích hợp của họ, hãy xem message-thread có liên quan. Vì vậy, có vẻ như trong tuần cuối cùng của tháng 8, chính sách đã thay đổi và không thể lấy các tệp xml này mà không có Tác nhân người dùng trong yêu cầu. Không có tùy chọn trong Cài đặt Maven để đặt giá trị này, tôi cũng không tìm thấy cách khác để đặt giá trị này.

Tôi có thể xác nhận rằng Maven-3.0.4 không hoạt động, nhưng phiên bản này có security issue.Theo các bài viết khác, các phiên bản cũ của Maven dường như cũng hoạt động tốt.

Trừ khi Maven Central thay đổi chính sách của nó, đây là thứ cần được khắc phục trong bản phát hành Maven tiếp theo.

+1

Khắc phục tác nhân người dùng sẽ là một phần của phiên bản 3.1.1, xem https://jira.codehaus.org/browse/MNG-5509 –

+0

Cảm ơn rất nhiều !! Tôi đã cố tự khắc phục điều này nhưng không dễ như vậy ... Tôi không tìm thấy mã nguồn của wagon-http-2.4-shaded.jar. Vì vậy, tôi sẽ chỉ chờ đợi phát hành maven tiếp theo. Bằng cách này, làm thế nào là nó hữu ích để thêm một tác nhân người dùng trong resquest cho một vấn đề bảo mật ssl? – Patouche

+0

Bình bóng mờ được tạo cùng với wagon-http.jar tại https://git-wip-us.apache.org/repos/asf/maven-wagon.git/?p=maven-wagon.git;a= cây, f = toa xe-nhà cung cấp/wagon-http; h = 25f01a043ad8bdcbbfced7a9745f2e04ffee0eda; hb = HEAD –

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