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?
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?
Yanıtlar:
Maven 2 ve 3'te her zaman 4.0.0 olarak ayarlanmıştır, çünkü şu anda başka bir model yoktur.
Bildirim
modelVersion
4.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.
Doğru cevap, @Toumi ve @ Boj tarafından verilen cevapların kombinasyonu olmalıdır. Bununla ilgili daha fazla arka plan için https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0 sayfasına da göz atın .
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.
Burada 2020'de 5.0 sürümü için bir öneri var:
https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0