Dapatkan unduhan pertama sbt melalui proxy
Konfigurasikan JVM yang menjalankan sbt dan bedakan unduhan launcher, pemilihan repositori, serta autentikasi proxy.
sbt bisa membutuhkan jaringan sebelum definisi build Anda melakukan hal yang berguna. Launcher-nya harus memperoleh komponen, dan build nanti dapat menghubungi repositori melalui pustaka tambahan. Pengaturan proxy yang tersembunyi di dalam task bisa datang terlalu terlambat untuk unduhan pertama.
Mulailah dari JVM yang benar-benar menjalankan sbt. Untuk launcher yang membaca .jvmopts proyek, properti endpoint dasar dapat berupa:
-Dhttp.proxyHost=proxy.example.net
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxy.example.net
-Dhttps.proxyPort=8080
Nilai-nilai ini memisahkan nama host dan port; itu bukan URL proxy lengkap. Untuk unduhan repositori publik yang diizinkan, daftar proxy HTTP menyediakan nilai kandidat untuk bidang tersebut. Repositori HTTPS tetap dapat dijangkau melalui proxy HTTP menggunakan CONNECT.
Perhatikan unduhan mana yang gagal
Bootstrap launcher, komponen alat build, plugin, dan dependensi tidak selalu menggunakan lapisan konfigurasi yang sama. Identifikasi URL dan tahap yang gagal sebelum mengubah deklarasi repositori.
Pemilihan repositori menjawab dari mana artefak diperoleh. Konfigurasi proxy menjawab bagaimana klien jaringan mencapai endpoint tersebut. Mengganti repositori dengan mirror internal bisa menjadi pilihan lain yang didukung, tetapi itu tidak mengonfigurasi proxy jaringan untuk semua tujuan lain.
Autentikasi proxy adalah pemeriksaan lain. Jangan menganggap setiap pengunduh Java memperlakukan properti proxyUser sembarang sebagai mekanisme login yang didukung. Gunakan pengaturan autentikasi yang didokumentasikan untuk launcher terpasang dan resolver terkait.
Terakhir, periksa lingkungan launcher yang efektif alih-alih menyalin variabel dari panduan untuk runner lain. Kegagalan DNS, repositori tidak tersedia, dan login proxy yang ditolak semuanya dapat muncul selama penyelesaian dependensi, tetapi memerlukan perbaikan yang sangat berbeda.