Как использовать 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

Ссылка: https://github.com/sbt/sbt/issues/4307

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