คำตอบที่กำหนดถือว่าโครงการที่สงสัยใช้การสืบทอดโครงการนอกเหนือจากการรวมโมดูล ในความเป็นจริงนั้นเป็นแนวคิดที่แตกต่าง:
https://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation
บางโครงการอาจเป็นการรวมตัวของโมดูล แต่ไม่มีความสัมพันธ์ระหว่างพาเรนต์ - ลูกระหว่าง POM ตัวรวบรวมและโมดูลที่รวม (อาจไม่มีความสัมพันธ์แบบพ่อแม่และลูกเลยหรือโมดูลย่อยอาจใช้ POM แยกเป็น "แม่") ในสถานการณ์เหล่านี้คำตอบที่ให้จะไม่ทำงาน
หลังจากการอ่านและการทดลองเป็นอย่างมากปรากฎว่ามีวิธีการใช้ปลั๊กอิน Maven รุ่นเพื่ออัปเดตไม่เพียง แต่ตัวรวบรวม POM เท่านั้น แต่ยังรวมโมดูลทั้งหมดไว้ด้วยเช่นกัน มันเป็นprocessAllModules
ตัวเลือก คำสั่งต่อไปนี้จะต้องทำในไดเรกทอรีของโครงการรวม:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT -DprocessAllModules
ปลั๊กอิน Maven รุ่นนี้ไม่เพียง แต่จะอัปเดตทุกเวอร์ชั่นของโมดูลที่มีอยู่ทั้งหมด แต่ยังจะอัพเดตการพึ่งพาระหว่างโมดูล !!!! นี่เป็นชัยชนะครั้งใหญ่และจะประหยัดเวลาและป้องกันปัญหาทุกประเภท
แน่นอนว่าอย่าลืมคอมมิชชันการเปลี่ยนแปลงในโมดูลทั้งหมดซึ่งคุณสามารถทำได้ด้วยสวิตช์เดียวกัน:
mvn versions:commit -DprocessAllModules
คุณอาจตัดสินใจแจกจ่าย POMS สำรองพร้อมกันและทำทุกอย่างในคำสั่งเดียว:
mvn versions:set -DnewVersion=2.50.1-SNAPSHOT -DprocessAllModules -DgenerateBackupPoms=false