มันทำอะไร
Maven เป็น "เครื่องมือการจัดการการสร้าง" มันมีไว้สำหรับกำหนดวิธีการที่.java
ไฟล์ของคุณได้รับการรวบรวม.class
บรรจุลงใน.jar
(หรือ.war
หรือ.ear
) ไฟล์ (ก่อน / โพสต์) ประมวลผลด้วยเครื่องมือการจัดการของคุณCLASSPATH
และอื่น ๆ ทุกประเภทงานที่ต้อง สร้างโครงการของคุณ มันคล้ายกับApache AntหรือGradleหรือMakefilesใน C / C ++ แต่มันพยายามที่จะมีอยู่ในตัวเองโดยสมบูรณ์ซึ่งคุณไม่จำเป็นต้องมีเครื่องมือหรือสคริปต์เพิ่มเติมโดยรวมงานทั่วไปอื่น ๆ เช่นการดาวน์โหลดและติดตั้งไลบรารีที่จำเป็นเป็นต้น
มันได้รับการออกแบบรอบ ๆ ธีม "build portability" เพื่อให้คุณไม่ได้รับปัญหาเนื่องจากมีรหัสเดียวกันกับ buildscript เดียวกันที่ทำงานบนคอมพิวเตอร์เครื่องหนึ่ง แต่ไม่ใช่ในอีกอันหนึ่ง (นี่เป็นปัญหาที่ทราบกันแล้วเรามี VMs ของ Windows 98 เครื่องเนื่องจากเราไม่สามารถรวบรวมแอปพลิเคชั่น Delphi ของเราได้จากที่อื่น) ด้วยเหตุนี้จึงเป็นวิธีที่ดีที่สุดในการทำงานกับโครงการระหว่างผู้ใช้ IDE ที่ต่างกันเนื่องจากสคริปต์ Ant ที่สร้างจาก IDE นั้นยากที่จะนำเข้าสู่ IDE อื่น ๆ แต่ IDEs ทุกวันนี้เข้าใจและสนับสนุน Maven ( IntelliJ , EclipseและNetBeans) ) แม้ว่าคุณจะไม่ชอบ Maven แต่มันก็กลายเป็นจุดอ้างอิงสำหรับเครื่องมือการสร้างที่ทันสมัยอื่น ๆ ทั้งหมด
ทำไมคุณควรใช้มัน
Maven มีสามสิ่งที่ดีมาก
Maven จะ (หลังจากที่คุณประกาศว่าคุณใช้อันไหน) ดาวน์โหลดไลบรารีทั้งหมดที่คุณใช้และไลบรารีที่พวกเขาใช้ให้คุณโดยอัตโนมัติ นี่เป็นสิ่งที่ดีมากและทำให้การจัดการกับห้องสมุดเป็นเรื่องง่ายมาก นี้จะช่วยให้คุณหลีกเลี่ยง"การพึ่งพานรก" มันคล้ายกับ Apache Ant ของไอวี่
มันใช้ " Convention over Configuration " เพื่อให้เป็นค่าเริ่มต้นคุณไม่จำเป็นต้องกำหนดงานที่คุณต้องการ คุณไม่จำเป็นต้องเขียนขั้นตอน "คอมไพล์", "ทดสอบ", "แพ็คเกจ" หรือ "คลีน" เช่นที่คุณต้องทำใน Ant หรือ Makefile เพียงแค่วางไฟล์ในที่ที่ Maven คาดหวังไว้และมันควรจะทำงานได้ดี
Maven ยังมีจำนวนมากที่ดีปลั๊กอินที่คุณสามารถติดตั้งที่จะจัดการกับงานประจำจำนวนมากจากการสร้างการเรียน Java จากสคี XSD ใช้ JAXBเพื่อวัดความคุ้มครองการทดสอบกับ Cobertura เพียงเพิ่มลงในของคุณpom.xml
และพวกเขาจะทำงานร่วมกับทุกสิ่งที่คุณต้องการ
เส้นโค้งการเรียนรู้เริ่มแรกนั้นสูงชัน แต่ (เกือบ) นักพัฒนา Java มืออาชีพทุกคนใช้ Maven หรือต้องการทำเช่นนั้น คุณควรใช้ Maven ในทุกโครงการแม้ว่าจะไม่แปลกใจถ้ามันต้องใช้เวลาซักพักและบางครั้งคุณก็อยากทำสิ่งต่าง ๆ ด้วยตัวเองเพราะการเรียนรู้สิ่งใหม่ ๆ จะทำให้คุณเจ็บปวด อย่างไรก็ตามเมื่อคุณคุ้นเคยกับ Maven อย่างแท้จริงแล้วคุณจะพบว่าการจัดการงานสร้างนั้นแทบจะไม่มีเวลาเลย
วิธีการเริ่ม
จุดเริ่มต้นที่ดีที่สุดคือ " Maven in 5 Minutes " มันจะช่วยให้คุณเริ่มต้นโครงการที่พร้อมให้คุณตั้งรหัสด้วยไฟล์และโฟลเดอร์ที่จำเป็นทั้งหมดในการตั้งค่า (ใช่ฉันขอแนะนำให้ใช้ archetype แบบเร่งด่วนอย่างน้อยในตอนแรก)
หลังจากเริ่มต้นคุณจะต้องการความเข้าใจที่ดีขึ้นเกี่ยวกับวิธีการใช้เครื่องมือนี้ สำหรับ " Better Builds with Maven " นั้นเป็นสถานที่ที่เข้าใจอย่างถ่องแท้ที่สุดว่ามันทำงานอย่างไร " Maven: The Complete Reference " นั้นมีความทันสมัยมากขึ้น อ่านอันแรกเพื่อความเข้าใจ แต่ใช้อันที่สองเพื่อการอ้างอิง