2014-05-08 11 views
7

Jestem za automatycznym generatorem proxy.Maven za automatycznym generatorem proxy

Skonfigurowałem plik settings.xml do korzystania z tego proxy, ale nadal nie działa . Zestaw SDK systemu Android działa dobrze z tym samym skonfigurowanym przez siebie serwerem proxy .

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
        http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    <proxies> 
    <proxy> 
     <id>optional</id> 
     <active>true</active> 
     <protocol>http</protocol> 
     <username></username> 
     <password></password> 
     <host>MY-PROXY-HOST-HERE</host> 
     <port>8080</port> 
     <nonProxyHosts></nonProxyHosts> 
    </proxy> 
    </proxies> 
</settings> 

Co jeszcze mogę zrobić, aby zmusić maven do pracy?

Błąd:

WARNING: NTLM authentication error: Credentials cannot be used for NTLM authenti 
cation: org.apache.maven.wagon.providers.http.httpclient.auth.UsernamePasswordCr 
edentials 

Jak zdobyć moje NTLM credintals uwierzytelniania?


Original error: Could not transfer metadata org.codehaus.mojo/maven-metadata.xml from/to central (http://repo.maven.apache.org/maven2): Not authorized by proxy , ReasonPhrase:Proxy Authorization Required. 

Jest to przesłanie wyjściowego. W moim wpad.dat (skąd wziąłem dane proxy), nie mam podanej nazwy użytkownika i hasła ...

+0

Co masz na myśli przez ', ale nadal nie działa.? Komunikaty o błędach? Jakiś wynik? – khmarbaise

Odpowiedz

14

dane uwierzytelniające nie są rozwiązaniem!

rozwiązanie problemu jest cntlm

kroki, aby przejść

Pierwszy krok ->

Kroki, aby pozbyć się tych problemów NTLM proxy stałe.

  1. pobrać i zainstalować cntlm
  2. edycji pliku cntlm.ini w cntlm katalogu instalacyjnym i upewnij się, że jest proxy z siecią tj „Proxy NTLMPROXYHOST: port” np Proxy 192.168.0.1:8080 (to jest twój sieciowy serwer proxy, z którego uzyskujesz dostęp do Internetu!)
  3. NIE ZAPOMNIJ, ABY UMIEŚCIĆ poświadczenia uwierzytelniania systemu Windows w pliku cntlm.ini, po prostu wpisz nazwę użytkownika systemu Windows, nazwę domeny, hasło.
  4. utwórz zmienną środowiskową (zmienną systemową) o nazwie CYGWIN o wartości "nodosfilewarning" (bez cudzysłowów), jeśli tego nie zrobisz, nie możesz nawet rozpocząć cntlm! Po drugie utwórz dwie zmienne środowiskowe o nazwie http_proxy o wartości "http://localhost:3128" i https_proxy o wartości "http://localhost:3128".
  5. przejdź do menu startowego i kliknij folder cntlm, a następnie kliknij "uruchom proxy autoryzacji cntlm" (NIE ZAPOMNIJ, ABY ZROBIĆ "uruchom proxy autoryzacji cntlm" SKRÓT A PROGRAM STARTU W INNY SPOSÓB NIE MOŻESZ DOSTĘP DO INTERNETU PO PONÓW REBOOT !! LUB POTRZEBUJESZ RĘCZNIE ROZPOCZYNAMY CNTLM PROXY KAŻDY CZAS, CZY PONOWNIE REBOOT !!).
  6. Otwórz przeglądarkę internetową -> Narzędzia -> Opcje internetowe -> Połączenia -> Ustawienia sieci LAN
  7. zaznacz pole wyboru obok pola "serwer proxy".
  8. Umieść localhost lub 127.0.0.1 w polu tekstowym "adres" i umieść 3128 w polu tekstowym "port" (tak, nie potrzebujesz już swojego proxy sieciowego, tak jak to już zrobiliśmy w pliku cntlm.ini).
  9. kliknij OK, a następnie OK, a następnie zamknij IE.

To to !!teraz nigdy nie widzisz błędu związanego z uwierzytelnianiem NTLM proxy lub czegokolwiek innego, nawet w sbt lub maven !!! CNTLM jest dość szybki, ponieważ został opracowany w C !!

Drugi krok ->

początek serwer proxy uwierzytelniania cntlm

upewnić proxy plik settings.xml wyglądają tak.

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

Plese daj mi informację zwrotną, jeśli coś nie działa!

+1

Ctnlm działa świetnie przez większość czasu. Ale od czasu do czasu zawiesza się i zawiesza (Windows 7) i nie wydaje się już być aktualizowany. Alternatywa byłaby świetna. –

+1

UWAGA: Jeśli używasz Cntlm NIE zostawiaj pustych i w ustawieniach serwera proxy. To nie zadziała. Zamiast tego usuń te linie całkowicie jak w tej odpowiedzi. –

4

Znalazłem działające rozwiązanie na codepen.io. Po prostu wkładasz słoik wagon-http-lightweight do katalogu Maven lib/ext.