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 Networking and Proxies .
Деякі сценарії мають власний спосіб налаштування проксі-конфігурації за допомогою 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.