왜 pom.xml의 modelVersion이 필요하고 항상 4.0.0으로 설정됩니까?


94

Maven의 <modelVersion></modelVersion>pom.xml은 항상 4.0.0으로 설정되어 있습니다.

이 태그의 중요성과 4.0.0으로 설정해야하는 이유를 이해하도록 도와 주시겠습니까?


stackoverflow에 오신 것을 환영합니다. 이것을 읽어야합니다 : stackoverflow.com/questions/how-to-ask- 또한 좀 더 구체적 일 수 있습니까?
Zeveso 2011

8
미안하지만 Wlll는 잘 이해했습니다. 도움을 주셔서 감사합니다
mahesh

답변:


86

현재 다른 모델이 없기 때문에 Maven 2 및 3에서는 항상 4.0.0으로 설정됩니다.

modelVersion4.0.0 이 포함되어 있습니다. 현재 유일하게 지원되는 POM 버전이며 항상 필요합니다. [ 출처 ]

그러나 다른 버전의 모델이있는 경우 항상 4.0.0으로 설정할 필요 는 없습니다 . POM은 모델을 준수해야합니다. Maven 4에 모델 4.1이 있다고 가정 해 보겠습니다. 4.1을 준수하도록 pom을 작성하면 Maven 3 및 모델 4.0.0과 호환되지 않습니다.

새 모델이 정의 된 경우 특정 XML 모델을 적용하기 위해 필수로 정의됩니다.


LOL 내 앱이 버전 4에 있었는데 버전을 5로 업데이트하는 동안 오류가 발생했습니다!
Chloe

8

모델 버전은 POM이 준수하는 프로젝트 설명 자의 버전입니다. 포함되어야하고 설정되어야합니다. 4.0.0 값은 Maven 3과 호환된다는 것을 나타냅니다.



2

modelVersion -POM의 모델 버전을 포함합니다. Maven 1.x는 3.0.0 요소를 포함하는 모델을 루트의 직계 자식으로 사용했습니다. Maven 2.x / 3.x는 4.0.0 요소를 사용했습니다.

version- 프로젝트의 버전을 포함합니다. 이 속성이 누락 된 경우 상위 요소가 있어야하며 버전은 상위 프로젝트에서 상속됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.