Mengapa modelVersion pom.xml diperlukan dan selalu disetel ke 4.0.0?


95

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?


Selamat datang di stackoverflow. Anda harus membaca ini: stackoverflow.com/questions/how-to-ask - Selain itu, dapatkah Anda lebih spesifik?
Zeveso

8
maaf, tapi Wlll memahaminya dengan baik. terima kasih atas bantuan Anda
mahesh

Jawaban:


89

Itu selalu disetel ke 4.0.0 di Maven 2 dan 3, karena, saat ini, tidak ada model lain.

Perhatikan yang modelVersionberisi 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.


LOL aplikasi saya menggunakan versi 4 dan saya mendapat kesalahan saat memperbarui versi ke 5!
Chloe

8

versi model adalah versi deskriptor proyek yang sesuai dengan POM Anda. Ini perlu disertakan dan diatur. Nilai 4.0.0 hanya menunjukkan bahwa itu kompatibel dengan Maven 3.



2

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.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.