Ketika saya membuat aplikasi Spring Boot saya bisa melihat mvnwdan mvnw.cmdfile di root proyek. Apa tujuan dari kedua file ini?
Ketika saya membuat aplikasi Spring Boot saya bisa melihat mvnwdan mvnw.cmdfile di root proyek. Apa tujuan dari kedua file ini?
Jawaban:
File-file ini dari bungkus Maven . Ini bekerja mirip dengan pembungkus Gradle .
Ini memungkinkan Anda untuk menjalankan proyek Maven tanpa menginstal Maven dan hadir di jalan. Ini mengunduh versi Maven yang benar jika tidak ditemukan (sejauh yang saya tahu secara default di direktori home pengguna Anda).
The mvnwfile untuk Linux (bash) dan mvnw.cmdadalah untuk lingkungan Windows.
Untuk membuat atau memperbarui semua file Maven Wrapper yang diperlukan, jalankan perintah berikut:
mvn -N io.takari:maven:wrapper
Untuk menggunakan versi pakar yang berbeda, Anda dapat menentukan versi sebagai berikut:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
Kedua perintah membutuhkan maven on PATH(tambahkan path ke maven binke Pathpada System Variables) jika Anda sudah memiliki mvnw di proyek Anda, Anda dapat menggunakan ./mvnwalih-alih mvndalam perintah.
Perintah mvnwmenggunakan Maven yang secara default diunduh ~/.m2/wrapperpada penggunaan pertama.
URL dengan Maven ditentukan di setiap proyek di .mvn/wrapper/maven-wrapper.properties:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
Untuk memperbarui atau mengubah versi Maven lakukan hal berikut (ingat --non-recursiveuntuk proyek multi-modul):
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9
atau hanya memodifikasi .mvn/wrapper/maven-wrapper.properties secara manual.
Untuk menghasilkan pembungkus dari awal menggunakan Maven (Anda harus sudah PATHmenjalankannya:
mvn io.takari:maven:wrapper -Dmaven=3.3.9
The Maven Wrapper adalah pilihan yang sangat baik untuk proyek-proyek yang membutuhkan versi tertentu dari Maven (atau untuk pengguna yang tidak ingin menginstal Maven sama sekali). Alih-alih menginstal banyak versi di sistem operasi, kita bisa menggunakan skrip wrapper khusus proyek.
mvnw: ini adalah skrip Unix shell yang dapat dieksekusi yang digunakan sebagai pengganti Maven yang diinstal penuh
mvnw.cmd : ini untuk lingkungan Windows
Gunakan Kasing
Wrapper harus bekerja dengan sistem operasi yang berbeda seperti:
Setelah itu, kita dapat menjalankan tujuan kita seperti ini untuk sistem Unix:
./mvnw clean install
Dan perintah berikut untuk Batch:
./mvnw.cmd clean install
Jika kami tidak memiliki Maven yang ditentukan di properti wrapper, itu akan diunduh dan diinstal di folder $USER_HOME/.m2/wrapper/distssistem.
Plugin Maven Wrapper
Plugin Maven Wrapper untuk melakukan instalasi otomatis dalam proyek Spring Boot sederhana.
Pertama, kita harus masuk ke folder utama proyek dan menjalankan perintah ini:
mvn -N io.takari:maven:wrapper
Kami juga dapat menentukan versi Maven:
mvn -N io.takari:maven:wrapper -Dmaven=3.5.2
Opsi -N berarti –non-rekursif sehingga pembungkus hanya akan diterapkan pada proyek utama direktori saat ini, bukan pada submodul mana pun.
Sejauh ini pilihan terbaik saat ini akan menggunakan wadah pakar sebagai alat pembangun. Sebuah mvn.shscript seperti ini akan cukup:
#!/bin/bash
docker run --rm -ti \
-v $(pwd):/opt/app \
-w /opt/app \
-e TERM=xterm \
-v $HOME/.m2:/root/.m2 \
maven mvn "$@"
mvnperintah untuk operasi pakar meskipun saya bisa menggunakan./mvnwuntuk tujuan yang sama.