Pengaturan File Konfigurasi Maven.xml ada di dua tempat:
1. Tempat Instalasi: $ {m2_home} /conf/settings.xml
2. Direktori Pengguna: $ {user.home}/. M2/settings.xml
Yang pertama juga disebut konfigurasi global, yang efektif untuk semua pengguna sistem operasi; Yang terakhir disebut konfigurasi pengguna, yang hanya efektif untuk pengguna sistem operasi saat ini. Jika keduanya ada, isinya akan digabungkan dan pengaturan seluruh pengguna.xml menimpa pengaturan global.xml.
Setelah Maven diinstal, settings.xml tidak akan secara otomatis dihasilkan di direktori pengguna, hanya file konfigurasi global yang tersedia. Jika Anda perlu membuat settings.xml seluruh pengguna, Anda dapat menyalin pengaturan di bawah jalur instalasi ke direktori $ {user.home}/. M2/. Pengaturan default Maven.xml adalah templat yang berisi komentar dan contoh. Anda dapat dengan cepat memodifikasinya untuk memenuhi kebutuhan Anda.
Setelah konfigurasi global diubah, semua pengguna akan terpengaruh. Jika Maven ditingkatkan, semua konfigurasi akan dihapus. Oleh karena itu, Anda harus menyalin dan mencadangkan file $ {m2_home} /conf/settings.xml terlebih dahulu. Secara umum, tidak disarankan untuk mengonfigurasi Pengaturan Global.xml.
settings.xml Penjelasan terperinci
Spesifikasi deklarasi
<? Xml Version = "1.0" encoding = "UTF-8"?> <Pengaturan xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschaMa" xsi: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
LocalRepository
<!- Jalan menuju repositori lokal. Nilai default adalah $ {user.home}/. M2/repositori. -> <CocalRepository> USR/LOCAL/MAVEN </localrepository>InteractMode
<!- Apakah Maven perlu berinteraksi dengan pengguna untuk mendapatkan input. Jika Maven perlu berinteraksi dengan pengguna untuk mendapatkan input, atur ke true, jika tidak, itu harus salah. Default itu benar. -> <AtainveMode> true </AbterintIveMode>
UsepluginRegistry
<!-Maven perlu menggunakan file plugin-registry.xml untuk mengelola versi plugin. Setel ke True jika Anda perlu membiarkan Maven menggunakan file $ {user.home}/. M2/plugin-registry.xml untuk mengelola versi plugin. Default salah. -> <SueplugInregistry> false </usepluginregistry>Offline offline
<!-Menunjukkan apakah Maven perlu berjalan dalam mode offline. Benar jika sistem build perlu berjalan dalam mode offline, default ke false. Konfigurasi ini sangat berguna ketika server build tidak dapat terhubung ke repositori jarak jauh karena pengaturan jaringan atau faktor keamanan. -> <Offline> false </frefline>
Plugingroups
<!- Ketika ID Organisasi Plugin (GroupID) tidak disediakan secara eksplisit, itu adalah untuk mencari daftar ID Organisasi Plugin (GroupID). Elemen ini berisi daftar elemen plugingroup, setiap elemen anak berisi ID Organisasi (GroupID). Ketika kami menggunakan plugin dan tidak menyediakan ID organisasi (GroupID) ketika perintah tersebut bertindak, Maven akan menggunakan daftar. Secara default, daftar ini berisi org.apache.maven.plugins dan org.codehaus.mojo-> <plugingroups> <!-ID Organisasi Plugin (GroupID)-> <Plugingroup> org.codehaus.mojo </lugingroup> </lugingroups>
proxy
<!-Untuk mengonfigurasi berbagai agen, profil multi-proksi dapat mengatasi lingkungan kerja notebook atau perangkat seluler: dengan hanya mengatur ID profil, Anda dapat dengan mudah mengubah seluruh konfigurasi proxy. -> <sroxies> <!-Elemen proxy berisi informasi yang diperlukan saat mengkonfigurasi proxy-> <droxy> <!-Definisi unik proxy digunakan untuk membedakan elemen proxy yang berbeda. -> <d> myproxy </d> <!-Apakah proksi ini yang diaktifkan? Benar mengaktifkan proxy. Ketika kami mendeklarasikan satu set agen dan pada titik tertentu hanya satu agen yang perlu diaktifkan, elemen itu bisa berguna. -> <Active> true </active> <!-Proxy Protocol. Protokol: // nama host: port, dipisahkan menjadi elemen diskrit untuk konfigurasi yang mudah. -> <protocol> http </protocol> <!-nama host proxy. Protokol: // nama host: port, dipisahkan menjadi elemen diskrit untuk konfigurasi yang mudah. -> <host> proxy.somewhere.com </shost> <!-port proxy. Protokol: // nama host: port, dipisahkan menjadi elemen diskrit untuk konfigurasi yang mudah. -> <port> 8080 </port> <!-Nama pengguna, nama pengguna, dan kata sandi dari server proxy yang diotentikasi nama dan kata sandi. -> <userName> ProxyUser </Senername> <!-Kata sandi proxy, nama pengguna, dan kata sandi mewakili nama login dan kata sandi untuk otentikasi server proxy. -> <swasword> Somepassword </sword> <!-Daftar nama host yang tidak boleh diproksi. Pembatas untuk daftar ini ditentukan oleh server proxy; Dalam contoh, pembatas garis vertikal digunakan, dan koma juga umum. -> <NonProxyHosts>*. Google.com | ibiblio.org </sproxyhosts> </droxy> </sroxies>
Server
<!-Konfigurasikan beberapa pengaturan di server. Beberapa pengaturan seperti sertifikat keamanan tidak boleh didistribusikan dengan pom.xml. Jenis informasi ini harus ada di file settings.xml di server build. -> <Server> <!-Elemen server berisi informasi yang diperlukan saat mengkonfigurasi server-> <sver> <!-Ini adalah ID server (perhatikan bahwa itu bukan ID login pengguna), yang cocok dengan ID elemen repositori dalam manajemen distribusi. -> <don> server001 </d> <!-Nama pengguna resmi. Nama pengguna otentikasi dan kata sandi otentikasi mewakili nama login dan kata sandi yang diperlukan untuk otentikasi server. -> <username> my_login </username> <!-Kata sandi otorisasi. Nama pengguna otentikasi dan kata sandi otentikasi mewakili nama login dan kata sandi yang diperlukan untuk otentikasi server. Fitur enkripsi kata sandi telah ditambahkan ke 2.1.0+. Untuk detailnya, silakan kunjungi halaman Enkripsi Kata Sandi-> <sparks Password> my_password </sword> <!-Lokasi kunci pribadi yang digunakan selama otentikasi. Mirip dengan dua elemen pertama, lokasi kunci pribadi dan kata sandi kunci pribadi menentukan jalur ke kunci pribadi (default adalah $ {user.home}/. Ssh/id_dsa) dan pernyataan rahasia jika diperlukan. Di masa depan, elemen frasa sandi dan kata sandi dapat diekstraksi secara eksternal, tetapi saat ini mereka harus dinyatakan dalam teks biasa dalam file settings.xml. -> <drivateKey> $ {usr.home}/. ssh/id_dsa </divatekey> <!-Kata sandi kunci pribadi yang digunakan untuk otentikasi. -> <schasphrase> some_passphrase </passphrase> <!-izin saat file dibuat. Jika file atau direktori repositori dibuat selama penyebaran, Anda dapat menggunakan izin. Nilai hukum dari kedua elemen ini adalah angka tiga digit, yang sesuai dengan izin dari sistem file UNIX, seperti 664, atau 775.-> <Filepermissions> 664 </FilePermissions> <!-izin ketika direktori dibuat. -> <DirectoryPerMissions> 775 </DirectoryPerMissions> </server> </vers>cermin
<!-Unduh Daftar Mirror yang dikonfigurasi untuk daftar repositori. Untuk pengaturan lanjutan, lihat halaman Pengaturan Mirror-> <mirrors> <!-Unduh cermin untuk repositori yang diberikan. -> <cermin> <!-Pengidentifikasi unik dari cermin. ID digunakan untuk membedakan elemen cermin yang berbeda. -> <d> planetmirror.com </dent> <!-nama cermin-> <name> planetmirror australia </name> <!-URL gambar. Sistem build akan memprioritaskan menggunakan URL ini daripada menggunakan URL server default. -> <ruRl> http://downloads.planetmirror.com/pub/maven2 </renl> <!-id dari server cermin. Misalnya, jika kita ingin mengatur cermin dari repositori Maven Central (http://repo.maven.apache.org/maven2/), kita perlu mengatur elemen ke pusat. Ini harus persis sama dengan ID pusat gudang pusat. -> <mecrorof> central </cryrorof> </cermin> </cermin>
Profil
<!-Sesuaikan daftar konfigurasi build sesuai dengan parameter lingkungan. Elemen profil di settings.xml adalah versi yang dipangkas dari elemen profil di pom.xml. Ini berisi ID, aktivasi, repositori, pluginrepositories dan elemen properti. Elemen profil di sini hanya berisi lima elemen anak ini karena hanya peduli dengan seluruh sistem konstruksi (ini adalah posisi peran dari file pengaturan.xml), daripada pengaturan model objek proyek yang terpisah. Jika profil dalam pengaturan diaktifkan, nilainya menimpa profil lain yang ditentukan dalam POM atau profil.xml dengan ID yang sama. -> <Profils> <!-Konfigurasi komponen yang disesuaikan sesuai dengan parameter lingkungan-> <profile> <!-Pengidentifikasi unik dari konfigurasi ini. -> <dent> tes </d>
Pengaktifan
<!-Logika bersyarat untuk secara otomatis memicu profil. Aktivasi adalah kunci pembukaan profil. Seperti profil di POM, kekuatan profil berasal dari kemampuannya untuk secara otomatis menggunakan nilai -nilai tertentu di lingkungan tertentu; Lingkungan ini ditentukan oleh elemen aktivasi. Elemen aktivasi bukan satu -satunya cara untuk mengaktifkan profil. Elemen ActiveProfile dalam file settings.xml dapat berisi ID profil. Profil juga dapat diaktifkan secara eksplisit (uji -p -p) pada baris perintah menggunakan tag -p dan daftar yang dipisahkan koma. -> <activation> <!-Identifikasi apakah profil diaktifkan secara default-> <activeByDefault> false </activeByDefault> <!-Ketika JDK yang cocok terdeteksi, profil diaktifkan. Misalnya, 1.4 mengaktifkan JDK1.4, 1.4.0_2, sementara! 1.4 mengaktifkan semua versi JDK yang dimulai dengan 1.4. -> <jdk> 1.5 </jdk> <!-Ketika atribut sistem operasi pencocokan terdeteksi, profil diaktifkan. Elemen OS dapat menentukan beberapa atribut terkait sistem operasi. -> <os> <!-Nama sistem operasi yang mengaktifkan profil-> <name> windows xp </name> <!-Keluarga sistem operasi yang mengaktifkan profil (seperti 'windows')-> <Gholth> windows </family> <!-Sistem Operasi Profil-> <Arch> x86 </chors> </family> </Versi Operasi Profil-> <Arch> x86 </ch arch> </Arch> </Versi </Versi Operasi-Versi Profil-<Arch> X86 </Arch> </Arch> </ARCHERATIONS> VERSI PROFFOKSE-> VERSI PROFFOK-> X86 </ARCH> </Arch> </Arch> </Arch> Versi Profile-> <!-Jika Maven mendeteksi properti tertentu (nilainya dapat direferensikan dalam POM dengan $ {name}), ia memiliki nama yang sesuai = nilai, dan profil akan diaktifkan. Jika bidang nilai kosong, profil akan diaktifkan jika bidang nama properti ada. Kalau tidak, bidang Nilai Properti akan dicocokkan dengan cara yang peka terhadap kasus-> <propt> <!-Nama properti yang mengaktifkan profil-> <name> MavenVersion </name> <!-Nilai properti yang mengaktifkan profil-> <value> 2.0.3 </value> </prope> <!-menyediakan nama file yang mengaktifkan profil dengan mendeteksi the detecte the non-or. Periksa apakah file yang hilang ada, dan mengaktifkan profil jika tidak ada. Di sisi lain, ada akan memeriksa apakah ada file dan mengaktifkan profil jika ada. -> <shile> <!-Jika ada file yang ditentukan, aktifkan profil. -> <exists> $ {berbasis} /file2.properties </ exists> <!-Jika file yang ditentukan tidak ada, aktifkan profil. -> <sisses> $ {berbasis} /file1.properties </sisses> </file> </activation> Properti
<!-Daftar atribut yang diperluas yang sesuai dengan profil. Atribut Maven sama dengan atribut di ANT, dan dapat digunakan untuk menyimpan beberapa nilai. Nilai -nilai ini dapat digunakan di mana saja di pom dengan tag $ {x}, di mana x mengacu pada nama properti. Atribut tersedia dalam lima formulir yang berbeda dan semuanya dapat diakses dalam file settings.xml. 1. Env.x: diawali dengan "Env." akan mengembalikan variabel lingkungan shell. Misalnya, "Env.Path" mengacu pada variabel lingkungan $ PATH (% jalur% pada windows). 2. Project.x: mengacu pada nilai elemen yang sesuai dalam POM. Misalnya: <proypor> <version> 1.0 </version> </poject> Dapatkan nilai versi melalui $ {Project.Version}. 3. settings.x: mengacu pada nilai elemen yang sesuai di settings.xml. Misalnya: <Stripting> <Offline> false </ofifline> </settings> Dapatkan nilai offline melalui $ {settings.offline}. 4. Java System Properties: Semua properti yang dapat diakses melalui java.lang.system.getProperties () dapat diakses di POM menggunakan formulir ini, seperti $ {java.home}. 5. x: Setel di elemen <properties/>, atau dalam file eksternal, gunakan sebagai $ {somevar}. -> <Properties> <User.install> $ {user.home}/Our-Project </user.install> </Properties>Catatan: Jika profil diaktifkan, Anda dapat menggunakan $ {user.install} di pom lagi.
Repositori
<!-Daftar repositori jarak jauh, yang merupakan serangkaian proyek jarak jauh yang digunakan oleh Maven untuk mengisi repositori lokal sistem build. -> <Repositories> <!-Berisi informasi yang perlu dihubungkan ke repositori jarak jauh-> <repositori> <!-Pengidentifikasi unik repositori jarak jauh-> <duHaussnapshots </dr> <!-Remote Repository Name-> <name> CODEHOUS Snapshots </name> <! Menunjukkan apakah repositori terbuka untuk mengunduh jenis komponen tertentu (versi rilis, versi snapshot). -> <denabled> false </enabled> <!-Elemen ini menentukan seberapa sering pembaruan terjadi. Maven membandingkan cap waktu dari POM lokal dan pom jarak jauh. Opsi di sini adalah: selalu, harian (default, setiap hari), interval: x (di sini adalah interval waktu dalam hitungan menit), atau tidak pernah (tidak pernah). -> <boatePlePoolicy> Selalu </updatePolicy> <!-Apa yang harus dilakukan ketika file verifikasi komponen verifikasi Maven gagal -ignore, gagal, atau peringatan. -> <checksumpolicy> warn </ checksumpolicy> </ereases> <!-Cara menangani unduhan versi snapshot di repositori jarak jauh. Dengan dua set konfigurasi, pelepasan dan snapshot, POM dapat mengadopsi berbagai strategi untuk setiap jenis komponen di setiap repositori terpisah. Misalnya, seseorang mungkin memutuskan untuk mengaktifkan dukungan untuk unduhan versi snapshot hanya untuk tujuan pengembangan. Lihat Repositori/Repositori/Rilis Elemen-> <Snapshots> <dabled/> <updatePolicy/> <checksumpolicy/> </snapshots> <!-URL repositori jarak jauh, di protokol: // hostname/path form-> <rrttp://snapshots.maven.maven.org.org Jenis tata letak repositori yang digunakan untuk menemukan dan mengurutkan komponen - dapat default atau warisan. Maven 2 menyediakan tata letak default untuk repositori; Namun, Maven 1.x memiliki tata letak yang berbeda. Kita dapat menggunakan elemen ini untuk menentukan apakah tata letaknya default atau warisan. -> <layout> default </layout> </potsitory> </potsitory> <!-Temukan daftar repositori remote plug-in. Gudang adalah rumah dengan dua komponen utama. Komponen pertama digunakan sebagai ketergantungan untuk komponen lain. Ini adalah sebagian besar jenis komponen yang disimpan di gudang pusat. Jenis komponen lainnya adalah plug-in. Maven Plug-in adalah jenis komponen khusus. Untuk alasan ini, repositori plug-in tidak tergantung pada repositori lain. Struktur elemen pluginrepositori mirip dengan elemen repositori. Setiap elemen pluginrepository menentukan alamat jarak jauh yang dapat digunakan Maven untuk menemukan plugin baru. -> <PluginRepositories> <!-Berisi informasi yang perlu dihubungkan ke repositori plug-in jarak jauh. See the description of profiles/profile/repositories/repository element--> <pluginRepository> <releases> <enabled/><updatePolicy/><checksumPolicy/> </releases> <snapshots> <enabled/><updatePolicy/><checksumPolicy/> </snapshots> <id/><name/><url/><layout/> </pluginrepository> </sluginrepository> </profile> </profiles>
ActiveProfiles
<!-Aktifkan daftar profil secara manual, dan tentukan ActiveProfile dalam urutan di mana profil diterapkan. Elemen ini berisi satu set elemen ActiveProfile, yang masing -masing berisi ID profil. ID profil apa pun yang ditentukan dalam ActiveProfile akan diaktifkan terlepas dari pengaturan lingkungan. Jika tidak ada profil yang cocok, tidak ada yang terjadi. Misalnya, jika tes Env adalah ActiveProfile, profil yang sesuai dengan ID dalam pom.xml (atau profile.xml) akan diaktifkan. Jika profil seperti itu tidak dapat ditemukan selama pelarian, Maven akan berjalan seperti biasa. -> <ActiveProfiles> <!---> <ActiveProfile> Env-test </activeProfile> </activeProfiles> </settings>
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.