Может получить доступ к хранилищу Maven из-за прокси, нужна помощь - PullRequest
17 голосов
/ 18 мая 2010

Я пытаюсь получить доступ к репозиторию maven из-за прокси. Я правильно настроил settings.xml (наверное, так ...)

  <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>

Но, тем не менее, я получаю сообщение об ошибке, например ... если я не настраиваю, userid / password получает правильное сообщение об ошибке, которое является HTTP-кодом ответа 407 - говорит, что требуется аутентификация. Но если я настрою правильную / неправильную аутентификацию прокси, она всегда печатает ниже сообщения об ошибке ....

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

Ответы [ 4 ]

36 голосов
/ 21 мая 2013

Если выше не работает

Шаг № 2: Добавить расширение wagon-http-lightweight

Облегченная библиотека Wagon HTTP позволяет нам преодолеть ограничения аутентификации в Maven (3.0.4) при работе с прокси NTLM. Чтобы добавить легковесную библиотеку Wagon HTTP в качестве расширения Maven, выполните следующие действия:

  • Загрузите wagon-http-lightweight-2.2.jar с здесь .

  • Скопируйте папку wagon-http-lightweight-2.2.jar в %M2_HOME%/lib/ext.

Пример pom.xml для тестирования решения

Чтобы проверить наш подход, сначала создайте простой проект Maven со следующим pom.xml:

<!-- 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>

Прогон цели Maven, описанной ниже. Это должно успешно выполниться и загрузить все зависимости Maven:

mvn clean install

Проверьте локальный каталог репозитория (как определено в файле settings.xml), чтобы убедиться, что все зависимости загружены правильно.

7 голосов
/ 18 марта 2014

Другой альтернативой является получение Cntlm (http://cntlm.sourceforge.net/) на вашем компьютере, настройка прокси-сервера NTLM в cntlm.ini с вашим доменом / паролем / именем прокси-сервера и т. Д. запустите его:

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

Отредактируйте свой maven $ MAVEN_HOME \ conf \ settings.xml и используйте блок прокси:

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

Теперь запустите maven с параметром -s:

mvn -s $MAVEN_HOME\conf\settings.xml <goal>
7 голосов
/ 18 мая 2010

Это прокси NTLM? Если да, попробуйте указать domainname\username для username (как указано в этой теме ).

<username>DOMAINNAME\USERNAME</username>
0 голосов
/ 02 сентября 2015

Я тоже наткнулся на эту проблему, потратил много времени на поиск решения ошибки NTLM. Проблема NTLM не исчезнет, ​​даже если мы добавим имя пользователя к имени домена только в теге прокси, нам также нужно добавить префикс идентификаторов пользователей в теги сервера, как показано ниже ...

<server>
    <id>isb-libs-dev</id>
    <username><internal.java.corp>\username</username>
    <password>password</password>
</server>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...