การหาการอ้างอิงแพ็กเกจนั้นไม่ใช่เรื่องยาก คุณแทบไม่ได้ทำมันอยู่แล้ว อาจเป็นครั้งเดียวในระหว่างการตั้งค่าโครงการและอื่น ๆ อีกเล็กน้อยในระหว่างการอัปเกรด ด้วย maven คุณจะต้องแก้ไขการอ้างอิงที่ไม่ตรงกันปอมที่เขียนไม่ดีและทำการยกเว้นแพ็คเกจ
ไม่ยาก ... สำหรับโครงการของเล่น แต่โปรเจ็กต์ที่ฉันทำงานอยู่มีมากมายหลายโปรเจ็กต์และฉันดีใจมากที่ได้รับสกรรมกริยาเพื่อให้มีรูปแบบการตั้งชื่อที่เป็นมาตรฐานสำหรับพวกเขา การจัดการทั้งหมดนี้ด้วยมือจะเป็นฝันร้าย
และใช่บางครั้งคุณต้องทำงานกับการบรรจบกันของการอ้างอิง แต่ลองคิดดูสองครั้งสิ่งนี้ไม่ได้มีมาจาก Maven ซึ่งมีอยู่ในระบบใด ๆ ที่ใช้การอ้างอิง (และฉันกำลังพูดถึงการอ้างอิง Java โดยทั่วไปที่นี่)
ดังนั้นด้วย Ant คุณต้องทำงานเดียวกันยกเว้นว่าคุณต้องทำทุกอย่างด้วยตนเอง: คว้าบางเวอร์ชันของโครงการ A และการอ้างอิงจากนั้นคว้าเวอร์ชันของโครงการ B และการอ้างอิงบางเวอร์ชันค้นหาตัวเองว่าพวกเขาใช้เวอร์ชันใดกันแน่ตรวจสอบ ไม่ทับซ้อนกันตรวจสอบว่าเข้ากันไม่ได้ ฯลฯ ยินดีต้อนรับสู่นรก
ในทางกลับกัน Maven สนับสนุนการจัดการการพึ่งพาและจะดึงข้อมูลเหล่านี้มาให้ฉันและให้เครื่องมือที่จำเป็นในการจัดการความซับซ้อนที่มีอยู่ในการจัดการการพึ่งพา : ฉันสามารถวิเคราะห์แผนผังการพึ่งพาควบคุมเวอร์ชันที่ใช้ในการอ้างอิงแบบสกรรมกริยายกเว้นบางส่วน พวกเขาถ้าจำเป็นต้องควบคุมบรรจบทั่วโมดูล ฯลฯ ไม่มีเวทย์มนตร์ แต่อย่างน้อยคุณก็มีกำลังใจ
และอย่าลืมว่าการจัดการการพึ่งพาเป็นเพียงส่วนเล็ก ๆ ของสิ่งที่ Maven นำเสนอยังมีอีกมากมาย (ไม่ได้กล่าวถึงเครื่องมืออื่น ๆ ที่รวมเข้ากับ Maven ได้เป็นอย่างดีเช่นSonar )
วงจร FIX-COMPILE-DEPLOY-DEBUG ที่ช้าซึ่งฆ่าผลผลิต นี่คือหลักจับของฉัน คุณทำการเปลี่ยนแปลงคุณต้องรอให้ maven build เริ่มใช้งานและรอให้มันปรับใช้ ไม่มีการใช้งานที่ร้อนแรง แต่อย่างใด
อย่างแรกทำไมคุณถึงใช้ Maven แบบนี้? ฉันไม่. ฉันใช้ IDE ของฉันเพื่อเขียนการทดสอบโค้ดจนกว่าจะผ่าน refactor ปรับใช้ hot deploy และรันบิลด์ Maven ในเครื่องเมื่อฉันทำเสร็จก่อนที่จะคอมมิตเพื่อให้แน่ใจว่าฉันจะไม่ทำลายบิวด์ต่อเนื่อง
อย่างที่สองฉันไม่แน่ใจว่าการใช้ Ant จะทำให้สิ่งต่างๆดีขึ้นมาก และจากประสบการณ์ของฉันการสร้าง Maven แบบแยกส่วนโดยใช้การอ้างอิงไบนารีทำให้ฉันมีเวลาสร้างเร็วกว่าการสร้าง Ant แบบเสาหินทั่วไป อย่างไรก็ตามลองดูMaven Shellเพื่อพร้อมที่จะ (อีกครั้ง) ใช้สภาพแวดล้อม Maven (ซึ่งน่ากลัวมาก)
ในตอนท้ายและฉันขอโทษที่ต้องพูดเช่นนั้นไม่ใช่ Maven จริงๆที่กำลังฆ่าประสิทธิภาพการทำงานของคุณคุณใช้เครื่องมือของคุณในทางที่ผิด และถ้าคุณไม่พอใจกับมันฉันจะพูดอะไรไม่ใช้มัน โดยส่วนตัวแล้วฉันใช้ Maven มาตั้งแต่ปี 2546 และไม่เคยมองย้อนกลับไป