Чому modelVersion pom.xml необхідний і завжди встановлюється на 4.0.0?


94

Я помітив, що для Maven's <modelVersion></modelVersion>pom.xml завжди встановлено значення 4.0.0.

Чи можете ви допомогти мені зрозуміти, у чому важливість цього тегу і чому для нього слід встановити значення 4.0.0?


Ласкаво просимо до stackoverflow. Вам слід прочитати це: stackoverflow.com/questions/how-to-ask - Крім того, чи можете ви бути дещо конкретнішими?
Зевесо

8
вибачте, але Wlll це прекрасно зрозумів. дякую за допомогу
mahesh

Відповіді:


86

Для Maven 2 та 3 завжди встановлюється значення 4.0.0, оскільки в даний час іншої моделі не існує.

Зверніть увагу, що modelVersionмістить 4.0.0. На даний момент це єдина підтримувана версія POM і завжди потрібна. [ джерело ]

Але це не обов'язково буде потрібно завжди бути встановлений в 4.0.0 , якщо є ще одна версія моделі. POM повинен відповідати моделі. Скажімо, Maven 4 пропонує модель 4.1. Якщо ви пишете свій pom до відповідності 4.1, він не буде сумісним з Maven 3 та моделлю 4.0.0.

Він визначається як обов’язковий, можливо, для застосування певної моделі XML у разі визначення нових моделей.


LOL мій додаток був на версії 4, і під час оновлення версії до 5 я отримав помилку!
Хлоя

8

версія моделі - це версія дескриптора проекту, якому відповідає ваш POM. Це потрібно включити і встановити. Значення 4.0.0 щойно вказало, що воно сумісне з Maven 3.



2

modelVersion - містить модель версії POM. Maven 1.x використовував модель, яка містила елемент 3.0.0 як безпосередній дочірній матеріал кореня. Maven 2.x / 3.x використовував елемент 4.0.0.

версія - містить версію проекту. Якщо цей атрибут відсутній, тоді повинен бути присутній батьківський елемент, і версія буде успадкована від батьківського проекту.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.