Bagaimana cara menggunakan baris perintah maven untuk menentukan file settings.xml mana yang diambil Maven?
Bagaimana cara menggunakan baris perintah maven untuk menentukan file settings.xml mana yang diambil Maven?
Jawaban:
Mulai pakar dengan opsi -X (debug) dan periksa awal output. Seharusnya ada sesuatu seperti ini:
...
[INFO] Error stacktraces are turned on.
[DEBUG] Reading global settings from c:\....\apache-maven-3.0.3\conf\settings.xml
[DEBUG] Reading user settings from c:\....\.m2\settings.xml
[DEBUG] Using local repository at C:\....\repository
...
(Nama direktori asli dihapus oleh saya)
Komentar Anda untuk jawaban cletus (benar) menyiratkan bahwa ada beberapa file pengaturan Maven yang terlibat.
Maven selalu menggunakan satu atau dua file pengaturan. Pengaturan global yang didefinisikan dalam ($ {M2_HOME} /conf/settings.xml) selalu diperlukan. File pengaturan pengguna (didefinisikan dalam $ {user.home} /. M2 / settings.xml) adalah opsional. Pengaturan apa pun yang ditentukan dalam pengaturan pengguna didahulukan dari pengaturan global terkait.
Anda dapat mengganti lokasi pengaturan global dan pengguna dari baris perintah, contoh berikut ini akan mengatur pengaturan global ke c: \ global \ settings.xml dan pengaturan pengguna ke c: \ user \ settings.xml :
mvn install --settings c:\user\settings.xml
--global-settings c:\global\settings.xml
Saat ini tidak ada properti atau sarana untuk menetapkan dari mana file pengaturan pengguna dan global digunakan dari dengan Maven. Untuk mengakses nilai-nilai ini, Anda harus memodifikasi MavenCli dan / atau DefaultMavenSettingsBuilder untuk menyuntikkan lokasi file ke objek Pengaturan yang diselesaikan.
Anda dapat menggunakan plugin bantuan pakar untuk memberi tahu Anda konten file pengaturan global dan pengguna Anda.
mvn help:effective-settings
akan meminta pakar untuk memuntahkan pengaturan global dan pengguna gabungan .
Ini adalah file konfigurasi untuk Maven. Itu dapat ditentukan pada dua tingkatan:
Tingkat Pengguna. File settings.xml ini memberikan konfigurasi untuk satu pengguna, dan biasanya disediakan dalam $ {user.home} /. M2 / settings.xml.
NOTE: This location can be overridden with the CLI option:
-s /path/to/user/settings.xml
Tingkat Global. File settings.xml ini memberikan konfigurasi untuk semua pengguna Maven pada mesin (dengan asumsi mereka semua menggunakan instalasi Maven yang sama). Biasanya disediakan dalam $ {maven.home} /conf/settings.xml.
NOTE: This location can be overridden with the CLI option:
-gs /path/to/global/settings.xml
The M2_HOME
variabel lingkungan untuk satu global. Lihat Referensi Pengaturan :
The
settings
elemen dalamsettings.xml
file yang mengandung unsur-unsur yang digunakan untuk menentukan nilai-nilai yang mengkonfigurasi eksekusi Maven dalam berbagai cara, sepertipom.xml
, tetapi tidak harus paket untuk setiap proyek tertentu, atau didistribusikan ke pemirsa. Ini termasuk nilai-nilai seperti lokasi repositori lokal, server repositori jarak jauh alternatif, dan informasi otentikasi. Ada dua lokasi tempat file settings.xml dapat hidup:
- Instalasi Maven:
$M2_HOME/conf/settings.xml
- Instalasi pengguna:
${user.home}/.m2/settings.xml
the former settings.xml are also called global settings, the latter settings.xml are referred to as user settings. If both files exists, their contents gets merged, with the user-specific settings.xml being dominant.
Metode cepat dan kotor untuk menentukan apakah Maven menggunakan pengaturan yang diinginkan.xml akan membatalkan xml-nya dan menjalankan beberapa perintah maven aman yang memerlukan pengaturan.xml.
Jika membaca ini settings.xml kemudian Maven laporan kesalahan: "Kesalahan membaca settings.xml ..."