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