ฉันกำลังทำโครงการ Maven ที่ใหญ่พอสมควร เราอาจมีอาร์ติแฟกต์แต่ละรายการประมาณ 70 รายการซึ่งแบ่งออกเป็นสองไลบรารีของโค้ดที่ใช้ร่วมกันโดยประมาณและอาจมีแอปพลิเคชันสิบรายการที่ใช้ ทั้งหมดของรายการเหล่านี้อาศัยอยู่ในการ com.mycompany.*
namespace
เวลาส่วนใหญ่เราทำงานกับการสร้างสแนปชอต ดังนั้นในการสร้างแอปพลิเคชันเต็มรูปแบบฉันอาจสร้างโปรเจ็กต์ไลบรารีก่อนเพื่อให้ติดตั้งลงในที่เก็บในเครื่องของฉัน (ตามที่พูดmycompany-libname-2.4-SNAPSHOT.jar
)
ปัญหาคือเมื่อไปสร้างแอปพลิเคชันแล้ว ด้วยเหตุผลบางประการ Maven ต้องการตรวจสอบที่เก็บสาธารณะหลักสองแห่ง (maven-net-repo และ java-net-repo) สำหรับการอัปเดตสำหรับmycompany-*-SNAPSHOT.jar
สิ่งประดิษฐ์ทั้งหมด แน่นอนว่าพวกเขาไม่พบที่นั่นและในที่สุดทุกอย่างก็กลับไปเป็นเวอร์ชันที่ฉันเพิ่งสร้างขึ้นในพื้นที่เก็บข้อมูลในพื้นที่ของฉัน แต่ฉันอยากให้ Maven หยุดทำสิ่งนี้เพราะ (ก) ทำให้ฉันรู้สึกเหมือนเป็นชาวเน็ตที่ไม่ดีพลเมือง สำหรับการตรวจสอบที่เก็บเหล่านี้อย่างต่อเนื่องเพื่อหาสิ่งที่จะไม่อยู่ที่นั่นและ (b) เพิ่มเวลาแฝงเครือข่ายที่ไม่จำเป็นและน่ารำคาญลงในกระบวนการสร้างของฉัน
ฉันเคยใช้ maven ในโหมดออฟไลน์เกือบตลอดเวลาในการแก้ไขปัญหานี้ แต่ก็ไม่เหมาะเนื่องจากบางครั้งการพึ่งพาห้องสมุดสาธารณะจะได้รับการอัปเดต ดังนั้นสิ่งที่ฉันกำลังมองหาคือวิธีแก้ปัญหาซึ่งจะทำให้ Maven ไม่ตรวจสอบการอัปเดตจากที่เก็บที่กำหนดสำหรับสิ่งประดิษฐ์ที่ตรงตามเกณฑ์ที่กำหนด - ในกรณีนี้ฉันยินดีถ้า Maven จะละเว้นเวอร์ชัน SNAPSHOT หรือสิ่งประดิษฐ์ที่อยู่ในcom.mycompany
namespace