Как использовать sbt из-за прокси - в Windows 7?
Я пытаюсь запустить SBT в Windows 7. Для этого я выполнил действия в аналогичной теме " Как использовать sbt из-за прокси-сервера?".
У меня есть следующие соответствующие "Системные переменные":
Имя переменной: JAVA_OPTS Значение переменной: -Dhttp.proxySet=true -Dhttp.proxyHost=192.168.0.150 -Dhttp.proxyPort=8080
Имя переменной: SBT_OPTS Значение переменной: -Dhttp.proxySet=true -Dhttp.proxyHost=192.168.0.150 -Dhttp.proxyPort=8080
а также
Имя переменной: SBT_HOME Значение переменной: C:\Program Files (x86)\sbt\
Я также изменил содержимое C: \ Program Files (x86) \ sbt \ conf \ sbtconfig.txt
***** sbtconfig.txt НАЧАЛО *****
* Установите java args на высокий
-Xmx512m
-XX: MaxPermSize = 256m
-XX: ReservedCodeCacheSize = 128m
* Установите дополнительные параметры SBT
-Dsbt.log.format= верно
* Установить прокси
-Dhttp.proxySet = верно
-Dhttp.proxyHost = 192.168.0.150
-Dhttp.proxyPort = 8080
***** sbtconfig.txt КОНЕЦ *****
Запустив "cmd.exe", я ввожу "sbt". Cmd echos "Получение org.fusesource.jansi jansi 1.11...". Примерно через 1 минуту я получаю много предупреждений и ошибок, таких как:
[...]
:::: ОШИБКИ Ошибка доступа к серверу: тайм-аут соединения: URL-адрес соединения = https://repo.typesafe.com/typesafe/ivy-releases/org.fusesource.jansi/jansi/1.11.ivys/ivy.xml
[...]
что точно так же я получаю без настроек прокси. Также я был удивлен, когда я ввел упомянутый адрес в своем браузере, и все, что я получил, было:
***** Дисплей браузера НАЧАЛО *****
{
"ошибки": [{
"status" : 404,
"message" : "File not found."
}]
}
***** Дисплей браузера END *****
Как я могу узнать, пытается ли SBT использовать прокси, или есть другая проблема?
3 ответа
Спасибо, Павел, за ответ.
Вот что я узнал:
"-Dhttp.proxySet=true
"не имеет никакого эффекта (по крайней мере, для меня)
Настройки имеют приоритет в следующем порядке:
SBT_OPTS переопределяет JAVA_OPTS переопределяет%SBT_HOME%conf\sbtconfig.txt
Решением является либо установка одной из переменных среды
JAVA_OPTS=-Dhttp.proxyHost=192.168.0.150 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=192.168.0.150 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost
ИЛИ ЖЕ
SBT_OPTS=-Dhttp.proxyHost=192.168.0.150 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=192.168.0.150 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost
ИЛИ чтобы отредактировать файл%SBT_HOME%conf\sbtconfig.txt:
***** sbtconfig.txt BEGINNING (hashtags in this file have been replaced by stars) *****
*Set the java args to high
-Xmx512M
*-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=128m
*Set the extra SBT options
-Dsbt.log.format=true
*Proxy settings
-Dhttp.proxyHost=192.168.0.150
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=192.168.0.150
-Dhttps.proxyPort=8080
***** sbtconfig.txt END *****
Давайте посмотрим на ваши ошибки:
:::: ERRORS Server access Error: Connection timed out: connect url=https://repo.typesafe.com/typesafe/ivy-releases/org.fusesource.jansi/jansi/1.11.ivys/ivy.xml
Sbt пытается использовать https, но у вас нет конфигурации прокси для него. Попробуйте установить переменные прокси https:
- https.proxyHost
- https.proxyPort
Я думаю, вы могли бы попробовать те же значения, что и для HTTP прокси.
Перейдите в папку SBT и используйте команду ниже
set SBT_OPTS=-Dhttp.proxyHost=10.10.10.154 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=10.10.10.154 -Dhttps.proxyPort=8080 -Dhttp.nonProxyHosts=localhost <Enter your IP settings >
а потом
sbt.bat
Sbt использует Gigahorse с OkHttp для параллельной загрузки. Вы можете попробовать отключить его, передав -Dsbt.gigahorse=false.
Еще вы можете попробовать отключить https и использовать http, передав -Dsbt.repository.secure=false