ทำไม modelVersion ของ pom.xml จึงจำเป็นและตั้งค่าเป็น 4.0.0 เสมอ?


95

ฉันสังเกตเห็นว่า<modelVersion></modelVersion>pom.xml ของMaven ตั้งค่าเป็น 4.0.0 เสมอ

โปรดช่วยฉันทำความเข้าใจความสำคัญของแท็กนี้และเหตุใดจึงควรตั้งค่าเป็น 4.0.0


ยินดีต้อนรับสู่ stackoverflow คุณควรอ่านสิ่งนี้: stackoverflow.com/questions/how-to-ask - นอกจากนี้คุณสามารถเจาะจงมากขึ้นได้ไหม
Zeveso

8
ขออภัย แต่ Wlll เข้าใจดี ขอบคุณสำหรับความช่วยเหลือของคุณ
mahesh

คำตอบ:


89

มันถูกตั้งค่าเป็น 4.0.0 ใน Maven 2 และ 3 เสมอเพราะในปัจจุบันไม่มีรุ่นอื่น

สังเกตว่าmodelVersionมี 4.0.0 ปัจจุบันเป็นเวอร์ชัน POM ที่รองรับเท่านั้นและจำเป็นต้องใช้เสมอ [ แหล่งที่มา ]

แต่ไม่จำเป็นต้องตั้งค่าเป็น 4.0.0 เสมอไปหากมีรุ่นอื่น POM ต้องปฏิบัติตามแบบจำลอง สมมติว่า Maven 4 มาพร้อมกับรุ่น 4.1 หากคุณเขียน pom ของคุณให้สอดคล้องกับ 4.1 มันจะไม่เข้ากันได้กับ Maven 3 และรุ่น 4.0.0

ถูกกำหนดให้เป็นข้อบังคับอาจบังคับใช้โมเดล XML เฉพาะในกรณีที่มีการกำหนดโมเดลใหม่


ฮ่า ๆ แอปของฉันเป็นเวอร์ชัน 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

เวอร์ชัน - มีเวอร์ชันของโครงการ หากไม่มีแอตทริบิวต์นี้องค์ประกอบหลักจะต้องมีอยู่และเวอร์ชันจะถูกสืบทอดมาจากโปรเจ็กต์หลัก


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.