ฉันสังเกตเห็นว่า<modelVersion></modelVersion>
pom.xml ของMaven ตั้งค่าเป็น 4.0.0 เสมอ
โปรดช่วยฉันทำความเข้าใจความสำคัญของแท็กนี้และเหตุใดจึงควรตั้งค่าเป็น 4.0.0
ฉันสังเกตเห็นว่า<modelVersion></modelVersion>
pom.xml ของMaven ตั้งค่าเป็น 4.0.0 เสมอ
โปรดช่วยฉันทำความเข้าใจความสำคัญของแท็กนี้และเหตุใดจึงควรตั้งค่าเป็น 4.0.0
คำตอบ:
มันถูกตั้งค่าเป็น 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 เฉพาะในกรณีที่มีการกำหนดโมเดลใหม่
เวอร์ชันของโมเดลคือเวอร์ชันของตัวอธิบายโปรเจ็กต์ที่ POM ของคุณเป็นไปตาม จะต้องมีการรวมและตั้งค่า ค่า 4.0.0 ระบุว่าเข้ากันได้กับ Maven 3
คำตอบที่ถูกต้องควรเป็นการรวมกันของคำตอบของ @Toumi และ @Boj ดูข้อมูลเพิ่มเติมได้ที่https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0
modelVersion - มีรุ่นรุ่นของ POM Maven 1.x ใช้โมเดลที่มีองค์ประกอบ 3.0.0 เป็นชายด์ทันทีของรูท Maven 2.x / 3.x ใช้องค์ประกอบ 4.0.0
เวอร์ชัน - มีเวอร์ชันของโครงการ หากไม่มีแอตทริบิวต์นี้องค์ประกอบหลักจะต้องมีอยู่และเวอร์ชันจะถูกสืบทอดมาจากโปรเจ็กต์หลัก
มีข้อเสนอสำหรับเวอร์ชัน 5.0 ในปี 2020 ที่นี่:
https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0