Pom.xml'nin modelVersion'ı neden gereklidir ve her zaman 4.0.0 olarak ayarlanır?


95

Maven's olduğunu fark ettim <modelVersion></modelVersion> pom.xml dosyasının her zaman 4.0.0 olarak ayarlandığını .

Bu etiketin öneminin ne olduğunu ve neden 4.0.0'a ayarlanması gerektiğini anlamama yardım eder misiniz?


Stackoverflow'a hoş geldiniz. Şunu okumalısınız: stackoverflow.com/questions/how-to-ask - Ayrıca, biraz daha spesifik olabilir misiniz?
Zeveso

8
üzgünüm ama Wlll bunu çok iyi anladı. yardımınız için teşekkürler
mahesh

Yanıtlar:


89

Maven 2 ve 3'te her zaman 4.0.0 olarak ayarlanmıştır, çünkü şu anda başka bir model yoktur.

Bildirim modelVersion4.0.0 içeriyor. Bu, şu anda desteklenen tek POM sürümüdür ve her zaman gereklidir. [ kaynak ]

Ama ille de ihtiyacı olmayacak modelin başka bir sürümü olsaydı mutlaka 4.0.0 olarak ayarlanması . Bir POM, bir modele uymak zorundadır. Maven 4'ün model 4.1 ile geldiğini varsayalım. Pom'nızı 4.1'e uyacak şekilde yazarsanız, Maven 3 ve model 4.0.0 ile uyumlu olmaz.

Muhtemelen yeni modellerin tanımlanması durumunda belirli bir XML modelini uygulamak için zorunlu olarak tanımlanır.


LOL uygulamam 4 sürümündeydi ve sürümü 5'e güncellerken bir hata aldım!
Chloe

8

model sürümü, POM'unuzun uyumlu olduğu proje tanımlayıcısının sürümüdür. Dahil edilmesi gerekir ve ayarlanır. 4.0.0 değeri, Maven 3 ile uyumlu olduğunu gösterdi.



2

modelVersion - POM'un model sürümünü içerir. Maven 1.x, kökün hemen alt öğesi olarak 3.0.0 öğesi içeren bir model kullandı. Maven 2.x / 3.x, 4.0.0 öğesi kullanmıştır.

version - projenin sürümünü içerir. Bu öznitelik eksikse, üst öğe mevcut olmalıdır ve sürüm, üst projeden miras alınacaktır.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.