2010-05-18 21 views
17

Tôi đang cố gắng truy cập kho lưu trữ maven từ phía sau proxy. tôi cấu hình settings.xml một cách chính xác (tôi đoán vậy ...)Có thể truy cập kho lưu trữ maven từ phía sau proxy, cần trợ giúp

<proxies> 
    <proxy> 
     <active>true</active> 
     <protocol>http</protocol> 
     <username>username</username> 
     <password>password</password> 
     <host>12.34.56.78</host> 
     <port>8080</port> 
    </proxy> 
    </proxies> 

Nhưng vẫn Tôi nhận được một thông báo lỗi như ... nếu tôi không cấu hình userid/mật khẩu được thông báo lỗi chính xác đó là HTTP mã phản hồi 407 - yêu cầu xác thực. Nhưng nếu tôi cấu hình đúng/sai xác thực proxy nó luôn in dưới đây thông báo lỗi ....

 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom 
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' from repository central (http://repo1.maven.org/maven2): Error trans 
ferring file: Server redirected too many times (20) 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom 
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' from repository central (http://repo1.maven.org/maven2): Error trans 
ferring file: Server redirected too many times (20) 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
+0

Bạn có thể đưa ra một đoạn cài đặt của bạn .xml nộp như thế nào bạn đã cấu hình proxy, gây ra điều này có vẻ như không đúng cổng/tên người dùng/mật khẩu, vv – khmarbaise

+0

đúng http AP \ daunddig P00nam-5 10.83.2.8 <- local.net |! Some.host.com ->

Trả lời

7

Có một proxy NTLM? Nếu có, hãy cố gắng cung cấp domainname\username cho số username (như được đề xuất trong this thread).

<username>DOMAINNAME\USERNAME</username> 
+0

Có, tôi đã cố gắng tên người dùng với tên miền và withouth tên miền . nhưng nó vẫn thất bại. –

+1

@DigambarDaund: bạn có thể chạy maven với -X để xem bạn có nhận được thông tin hữu ích không? –

+1

@KhueVu nó là hiển nhiên! bạn đang thay đổi cài đặt proxy thành tệp settings.xml mà bạn đã tải xuống từ trang web và bạn đang chạy m2e sử dụng maven đi kèm, do đó bạn phải chuyển đến tùy chọn và thay đổi maven prefereces-> cài đặt để trỏ tới cài đặt maven cục bộ của bạn chứa cài đặt đã chỉnh sửa .xml theo mặc định Nhúng là giá trị chỉ thay đổi! – positivecrux

33

Nếu ở trên không hoạt động

BướC# 2: Thêm toa xe-http nhẹ mở rộng

Wagon HTTP thư viện nhẹ cho phép chúng ta vượt qua những hạn chế xác thực trong Maven (3.0.4) khi làm việc với proxy NTLM. Chúng ta có thể làm theo các bước dưới đây để thêm thư viện nhẹ Wagon HTTP như một phần mở rộng Maven:

  • Tải wagon-http-lightweight-2.2.jar từ here.

  • Sao chép thư mục wagon-http-lightweight-2.2.jar đến %M2_HOME%/lib/ext.

Ví dụ pom.xml để thử nghiệm các giải pháp

Để kiểm tra cách tiếp cận của chúng tôi, đầu tiên tạo ra một dự án Maven đơn giản với pom.xml sau:

<!-- pom.xml --> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.thira.testmavenplugindl</groupId> 
    <artifactId>test-maven-plugin-dl</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>Test Maven Plugin Download Issue</name> 
    <description>Example pom file to test Maven dependency download with NTLM proxies</description> 
</project> 

Việc chạy các Maven mục tiêu được mô tả bên dưới. Điều này sẽ thực hiện thành công và tải về tất cả phụ thuộc Maven:

mvn clean install 

Kiểm tra thư mục kho lưu trữ địa phương của bạn (theo quy định trong hồ sơ settings.xml) để đảm bảo tất cả các phụ thuộc được tải xuống một cách chính xác.

+2

Cảm ơn bạn, đây là giải pháp duy nhất giúp tôi đối phó với NTLM! –

+1

mặc dù bài đăng này đã được hơn 3 năm, nó vẫn giữ được ngày của tôi! cám ơn. – Julian

+0

https://stackoverflow.com/questions/10033286/maven-proxy-settings-not-working/10625020#10625020 - Tôi nghĩ rằng điều này về cơ bản mô tả cùng một giải pháp, nhưng không cần phải tải xuống và sao chép các tệp theo cách thủ công – qqilihq

6

Một lựa chọn khác là để có được Cntlm (http://cntlm.sourceforge.net/) trên máy tính của bạn, cấu hình Proxy NTLM của bạn trong cntlm.ini với tên miền/mật khẩu/tên proxy của bạn, vv chạy nó:

cntlm.exe -v -a NTLMv2 -c cntlm.ini 

Sửa maven bạn $ MAVEN_HOME \ conf \ settings.xml, và sử dụng các proxy khối:

<proxies> 
    <proxy> 
     <active>true</active> 
     <protocol>http</protocol> 
     <host>localhost</host> 
     <port>3128</port> 
     <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts> 
    </proxy> 
</proxies> 

Bây giờ chạy maven với -s tùy chọn:

mvn -s $MAVEN_HOME\conf\settings.xml <goal> 
+1

Có vẻ như như m2eclipse bỏ qua cấu hình proxy của tệp settings.xml của người dùng khi thêm cấu hình proxy tương tự vào tệp settings.xml chung giải quyết vấn đề. –

0

Tôi cũng vấp ngã khi gặp sự cố này, đã dành rất nhiều thời gian để tìm kiếm giải pháp cho lỗi NTLM.NTLM vấn đề không nhận được ngay cả khi chúng tôi tiền tố tên người dùng với tên miền chỉ trong thẻ proxy, chúng tôi cũng cần tiền tố id người dùng trong các thẻ máy chủ như đưa ra dưới đây ...

<server> 
    <id>isb-libs-dev</id> 
    <username><internal.java.corp>\username</username> 
    <password>password</password> 
</server> 
Các vấn đề liên quan