Pengaturan proksi Maven untuk jaringan kerja dan rumah
Konfigurasi proksi termasuk dalam pengaturan Maven. Memilih berkas pengaturan adalah cara yang dapat diprediksi untuk beralih lingkungan jaringan.
Proyek Anda tidak berubah di kereta pulang, tetapi rute jaringannya berubah. Alamat proksi yang berfungsi di kantor mungkin tidak terjangkau di rumah. Ini adalah pengaturan lingkungan, bukan alasan untuk menaruh proksi pemberi kerja Anda di POM proyek.
Model pengaturan Maven menempatkan definisi proksi di bagian tingkat atas proxies. Profil pengaturan tidak menyediakan salinan sembarang kedua dari bagian itu. Menambahkan fragmen XML berbentuk proksi di bawah profil tidak menjadikannya mekanisme peralihan jaringan yang didukung.
Opsi langsung adalah memelihara pengaturan yang disetujui untuk setiap lingkungan dan memilih yang sesuai:
mvn --settings /path/to/settings-office.xml verify
Contoh tersebut memilih pengaturan pengguna secara eksplisit. Gunakan perintah dan berkas yang sesuai dengan build; itu tidak berarti berkas harus di-commit dengan kredensial.
Jaga perbedaannya tetap kecil
Catat pengaturan mana yang benar-benar berbeda: proksi aktif, host yang dilewati, mirror, dan akun server yang diperlukan. Berkas kedua tidak boleh diam-diam menghapus kebijakan repositori yang tidak terkait atau memakai kata sandi lama.
Periksa pengaturan global apa pun yang masih digabungkan dengan pengaturan pengguna yang dipilih. Berkas eksplisit membuat masukan terlihat, tetapi tidak berarti Maven tidak punya sumber konfigurasi lain.
Peralihan otomatis memerlukan sinyal nyata
Maven tidak dapat menyimpulkan "kantor" dari lokasi laptop dalam pengertian biasa. Pengaturan otomatis memerlukan mekanisme penemuan atau pengelolaan eksternal yang didukung dan respons yang ditetapkan saat mekanisme itu tidak tersedia.
Hati-hati dengan pola lewati yang luas yang dimaksudkan untuk menonaktifkan proksi di rumah. Pola itu juga dapat memengaruhi tujuan internal atau menyembunyikan rute yang diambil permintaan.
Untuk perbaikan pertama, utamakan pemilihan pengaturan yang terlihat dan eksplisit. Setelah berfungsi di kedua lingkungan, otomatisasi apa pun dapat mereproduksi konfigurasi yang diketahui itu alih-alih menulis ulang instruksi build proyek berulang kali.