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
Windows) คุณสามารถใช้เพื่อตั้งค่า 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