Maven за автоматически сгенерированным прокси

Я за автоматически сгенерированным прокси.

Я настроил свой файл settings.xml для использования этого прокси, но он все еще не работает. Android SDK отлично работает с тем же прокси, который я установил.

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

Что еще я могу сделать, чтобы заставить Maven работать?

Ошибка:

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

Как получить мои подписи NTLM для проверки подлинности?


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.

Это выходное сообщение. В моем wpad.dat (откуда я взял данные прокси) у меня нет указанного имени пользователя и пароля...

2 ответа

Решение

Учетные данные не являются решением!

Решение вашей проблемы - cntlm

шаги, чтобы пойти

Первый шаг ->

Шаги, чтобы избавиться от этих проблем прокси NTLM навсегда.

  1. скачать и установить cntlm
  2. Отредактируйте файл cntlm.ini в установочном каталоге cntlm и убедитесь, что в вашей сети есть прокси-сервер, то есть "Proxy NTLMPROXYHOST:PORT", например, Proxy 192.168.0.1:8080 (это сетевой прокси-сервер, с которого вы выходите в Интернет!)
  3. НЕ ЗАБУДЬТЕ СДЕЛАТЬ свои учетные данные для проверки подлинности Windows в файле cntlm.ini, просто введите имя пользователя Windows, имя домена, пароль.
  4. создайте переменную среды (системную переменную) с именем CYGWIN со значением "nodosfilewarning"(без кавычек), если вы этого не сделаете, вы не сможете даже запустить cntlm! Во-вторых, сделать две переменные окружения с именем http_proxy со значением "http://localhost:3128" а также https_proxy со значением "http://localhost:3128".
  5. Перейдите в меню "Пуск" и нажмите на папку cntlm, затем нажмите "Запустить прокси-сервер аутентификации cntlm" (НЕ ЗАБЫВАЙТЕ СДЕЛАТЬ "Запустите прокси-сервер аутентификации cntlm" ЗАКРЫТЬ ПРОГРАММУ ЗАПУСКА В ОБРАТНОМ СЛУЧАЕ ВЫ НЕ МОЖЕТЕ ПОЛУЧИТЬ ИНТЕРНЕТ ПОСЛЕ ПЕРЕЗАГРУЗКИ!! ПРОКСИ CNTLM КАЖДЫЙ РАЗ, КОТОРЫЙ ВЫ ПЕРЕЗАГРУЗИТЕ!!).
  6. Откройте Internet Explorer -> Сервис -> Свойства обозревателя -> Подключения -> Настройки локальной сети.
  7. отметьте оба флажка под заголовком "прокси-сервер".
  8. поместите localhost или 127.0.0.1 в текстовое поле "address" и поместите 3128 в текстовое поле "port" (да! вам больше не нужен сетевой прокси-сервер, как мы уже сохранили в cntlm.ini).
  9. нажмите ОК, затем снова ОК, затем закройте IE.

Это оно!! теперь вы никогда не увидите ошибку, связанную с неудачной аутентификацией прокси NTLM или чем-то еще, даже не в sbt или maven!!! CNTLM довольно быстрый, так как он разработан в C!!

Второй шаг ->

запустить прокси-сервер аутентификации cntlm

убедитесь, что прокси-файл вашего settings.xml выглядит следующим образом.

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

Пожалуйста, дайте мне отзыв, если что-то не работает!

Я нашел рабочее решение на codepen.io. Вы просто кладете wagon-http-lightweight кувшин в Maven lib/ext папка.

Другие вопросы по тегам