Saya perhatikan bahwa Maven's <modelVersion></modelVersion>
of pom.xml selalu disetel ke 4.0.0.
Bisakah Anda membantu saya memahami apa pentingnya tag ini dan mengapa harus disetel ke 4.0.0?
Saya perhatikan bahwa Maven's <modelVersion></modelVersion>
of pom.xml selalu disetel ke 4.0.0.
Bisakah Anda membantu saya memahami apa pentingnya tag ini dan mengapa harus disetel ke 4.0.0?
Jawaban:
Itu selalu disetel ke 4.0.0 di Maven 2 dan 3, karena, saat ini, tidak ada model lain.
Perhatikan yang
modelVersion
berisi 4.0.0. Itu saat ini satu-satunya versi POM yang didukung, dan selalu diperlukan. [ sumber ]
Namun tidak perlu selalu disetel ke 4.0.0 jika ada versi model lain. Sebuah POM harus mematuhi model. Katakanlah Maven 4 datang dengan model 4.1. Jika Anda menulis pom Anda untuk memenuhi 4.1, itu tidak akan kompatibel dengan Maven 3 dan model 4.0.0.
Ini didefinisikan sebagai wajib, mungkin untuk memberlakukan model XML tertentu jika model baru ditentukan.
Jawaban yang benar harus merupakan kombinasi dari jawaban @Toumi dan @Boj. Lihat juga di https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0 untuk latar belakang lebih lanjut tentang ini.
modelVersion - berisi versi model POM. Maven 1.x menggunakan model yang berisi elemen 3.0.0 sebagai turunan langsung dari root. Maven 2.x / 3.x telah menggunakan elemen 4.0.0.
versi - berisi versi proyek. Jika atribut ini hilang maka elemen induk harus ada dan versinya akan diwarisi dari proyek induk.
Ada proposal untuk versi 5.0 pada tahun 2020 di sini:
https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0