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
http
Yukarıdakileri https
ve ile değiştirinftp
Hizmetlerin özelliklerinin listesini almak için .
Bazı sbt
komut kullanmak JAVA_OPTS
ile proxy ayarlarını kurmak -Dhttp.proxyHost
ve -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 .sbtopts
veya (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 sbt
komut 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_OPTS
kullanmaktı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.