sbt diğer JVM tabanlı projelerin genellikle yapılandırılma şekline kıyasla oldukça standart bir şekilde çalışır.
sbt aslında iki "alt sistemdir" - başlatıcı ve çekirdek. Genellikle xsbt.boot.Bootçekirdek, hepimizin bildiği (ve hatta bazılarının hoşlandığı) özelliklerle başlamadan önce yürütülür.
Bu nedenle, HTTP, HTTPS ve FTP ağ trafiği için bir proxy'yi nasıl ayarlayabileceğinizi söyleyen sbt'yi nasıl yürüteceğinizle ilgili bir mesele.
Aşağıda, Java API'sine iletişimi bir proxy aracılığıyla yönlendirmesi talimatını veren, sbt dahil olmak üzere herhangi bir Java uygulaması için ayarlanabilen mevcut özelliklerin tam listesi verilmiştir:
- http_proxy
- http_proxy_user
- http_proxy_pass
- http.proxyHost
- http.proxyPort
- http.proxyUser
- http.proxyPassword
httpYukarıdakileri httpsve ile değiştirinftpHizmetlerin özelliklerinin listesini almak için .
Bazı sbtkomut kullanmak JAVA_OPTSile proxy ayarlarını kurmak -Dhttp.proxyHostve -Dhttp.proxyPort(yukarıda listelenen) diğerleri arasında. Java Ağı ve Proxy'leri görün .
Bazı komut dosyaları, SBT_OPTSözelliği kullanarak .sbtoptsveya (yalnızca Windows'ta) proxy yapılandırmasını kurmanın kendi yöntemleriyle gelir%SBT_HOME%\conf\sbtconfig.txt . Diğer JVM tabanlı uygulamalar etkilenmezken, sbt'yi proxy'leri kullanacak şekilde özel olarak ayarlamak için bunları kullanabilirsiniz.
Gönderen sbtkomut satırı aracı:
# 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)
Ve işte bir alıntı geliyor 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.
Yalnızcasbtconfig.txt Windows'ta çalıştığına dikkat edin . Dosyayı kullandığınızda danışılmaz ve diğer yaklaşımları kullanmak zorunda kalacaksınız.cygwin
Aşağıdaki komut dosyasıyla sbt kullanıyorum:
$JAVA_HOME/bin/java $SBT_OPTS -jar /Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar "$@"
Komut dosyasının amacı, JVM özelliklerini JVM sbt kullanımlarına aktarmanın bir yolu olarak kaynaklardan (bu yüzden kullanıyorum /Users/jacek/.ivy2/local/org.scala-sbt/sbt-launch/$SBT_LAUNCHER_VERSION-SNAPSHOT/jars/sbt-launch.jar) sbt'nin en son sürümünü $SBT_OPTSkullanmaktır.
Yukarıdaki komut dosyası, MacOS X'te komut satırında aşağıdaki gibi proxy ayarlamamı sağlıyor:
SBT_OPTS="-Dhttp.proxyHost=proxyhost -Dhttp.proxyPort=9999" sbt
Gördüğünüz gibi, sbt için vekil sunucu ayarlamak için pek çok yaklaşım vardır ve bunların hepsi JVM sbt kullanımları için bir vekil sunucu ayarlamak için hemen hemen kaynar.