sbt
работает довольно стандартным образом по сравнению с тем, как обычно настраиваются другие проекты на основе JVM.
sbt - это по сути две «подсистемы» - лаунчер и ядро. Обычно xsbt.boot.Boot
это выполняется до того, как ядро запускает функции, которые мы все знаем (а некоторым даже нравятся).
Следовательно, это вопрос того, как вы выполняете sbt, который говорит, как вы можете настроить прокси для сетевого трафика HTTP, HTTPS и FTP.
Ниже приводится полный список доступных свойств, которые могут быть установлены для любого приложения Java, включая sbt, которые инструктируют Java API для маршрутизации обмена данными через прокси:
- http_proxy
- http_proxy_user
- http_proxy_pass
- http.proxyHost
- http.proxyPort
- http.proxyUser
- http.proxyPassword
Замените http
выше на https
и, ftp
чтобы получить список свойств для услуг.
Некоторые sbt
сценарии используют JAVA_OPTS
для настройки прокси - сервера с -Dhttp.proxyHost
и -Dhttp.proxyPort
среди других (перечисленных выше). См. Сеть Java и прокси .
Некоторые сценарии содержат собственный способ настройки конфигурации прокси с помощью SBT_OPTS
свойства .sbtopts
или (только в Windows) %SBT_HOME%\conf\sbtconfig.txt
. Вы можете использовать их, чтобы специально настроить sbt на использование прокси, в то время как другие приложения на основе JVM вообще не затрагиваются.
Из sbt
инструмента командной строки:
# jvm options and output control
JAVA_OPTS environment variable, if unset uses "$java_opts"
SBT_OPTS environment variable, if unset uses "$default_sbt_opts"
.sbtopts if this file exists in the current directory, it is
prepended to the runner args
/etc/sbt/sbtopts if this file exists, it is prepended to the runner args
-Dkey=val pass -Dkey=val directly to the java runtime
-J-X pass option -X directly to the java runtime
(-J is stripped)
-S-X add -X to sbt's scalacOptions (-S is stripped)
А вот отрывок из sbt.bat
:
@REM Envioronment:
@REM JAVA_HOME - location of a JDK home dir (mandatory)
@REM SBT_OPTS - JVM options (optional)
@REM Configuration:
@REM sbtconfig.txt found in the SBT_HOME.
Будьте осторожны с того, sbtconfig.txt
что просто работает на Windows , только . При использовании cygwin
файл не консультируется, и вам придется прибегнуть к использованию других подходов.
Я использую sbt со следующим скриптом:
$JAVA_HOME/bin/java $SBT_OPTS -jar /Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar "$@"
Смысл сценария - использовать последнюю версию sbt, созданную из источников (поэтому я и использую /Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar
) со $SBT_OPTS
свойством как средство передачи свойств JVM в JVM, которую использует sbt.
Приведенный выше сценарий позволяет мне установить прокси в командной строке в MacOS X следующим образом:
SBT_OPTS="-Dhttp.proxyHost=proxyhost -Dhttp.proxyPort=9999" sbt
Как видите, существует множество подходов к установке прокси для sbt, которые в значительной степени сводятся к установке прокси для JVM, которую использует sbt.