ลด 50% ทุกแผน มีเวลาจำกัด เริ่มต้นที่ $2.48/mo
เหลือเวลาอีก 18 นาที
แอพบนเว็บและธุรกิจ

Mastering Maven: คำสั่งโดยละเอียด ตัวเลือก และสูตรโกงเพื่อการพัฒนาที่มีประสิทธิภาพ

เอด้า เลิฟกู๊ด By เอด้า เลิฟกู๊ด อ่าน 18 นาที อัปเดตเมื่อวันที่ 23 กุมภาพันธ์ 2025
คู่มือคำสั่ง mvn

เครื่องมืออัตโนมัติและการพัฒนาเป็นส่วนที่สำคัญที่สุดของโปรเจ็กต์อย่างแน่นอน และในบล็อกนี้ เราต้องการพูดคุยเกี่ยวกับ Maven Maven เป็นเครื่องมืออัตโนมัติที่ทรงพลังสำหรับโปรเจ็กต์ Java มันทำให้กระบวนการสร้างง่ายขึ้นและสร้างโครงสร้างที่เหมือนกันสำหรับโปรเจ็กต์ ดังนั้นจึงทำให้การจัดการและทำความเข้าใจโครงการง่ายขึ้น บล็อกนี้ครอบคลุมเกือบทุกอย่างในโลกของ Maven ครอบคลุมคำสั่งและตัวเลือกที่หลากหลายซึ่งจะช่วยปรับปรุงขั้นตอนการพัฒนาของคุณ เราจะสำรวจแง่มุมต่างๆ เช่น การจัดการเซิร์ฟเวอร์และคอนเทนเนอร์ การจัดการการควบคุมแหล่งที่มา (SCM) และ GPG สำหรับการลงนามสิ่งประดิษฐ์ นอกจากนี้ เราจะพิจารณาคำสั่งพิเศษสำหรับการจัดการปลั๊กอิน การประกอบและการจัดจำหน่าย และการสร้างไซต์และรายงานโครงการ ดังนั้นในตอนท้ายของคู่มือนี้ คุณจะมีความเข้าใจอย่างถ่องแท้ คำสั่งและตัวเลือก Maven.

ภาพรวมของ Maven; วงจรชีวิตของโครงการ

ในภาษายิดดิช คำว่า Maven แปลว่า "ผู้สะสมความรู้" ความหมายนี้อธิบายได้ค่อนข้างมากถึงพลังของ Maven ในฐานะเครื่องมืออัตโนมัติสำหรับโปรเจ็กต์ Java Maven ทำให้กระบวนการสร้างและการจัดการโครงการเป็นเรื่องง่ายมาก และทำได้โดยการทำงานต่างๆ โดยอัตโนมัติและจัดให้มีระบบการสร้างที่สม่ำเสมอ

ตอนนี้ เพื่อให้เข้าใจชัดเจนว่า Maven ทำงานอย่างไร เรามาแจกแจงแนวคิดของ a กัน แบบจำลองวัตถุโครงการ (POM). POM เป็นไฟล์ XML ที่มีข้อมูลเกี่ยวกับโครงการและรายละเอียดการกำหนดค่า Maven ใช้ POM เป็นรากฐานในการทำงาน ดังนั้น Maven จึงนำการขึ้นต่อกันของโปรเจ็กต์ สร้างไดเร็กทอรี ไดเร็กทอรีต้นทาง ไดเร็กทอรีต้นทางทดสอบ และเป้าหมายจากแหล่งที่มานี้เพื่อดำเนินการ

หลังจากกำหนดโครงการและการพึ่งพาจาก pom.xmlเมื่อใดก็ตามที่คุณรันคำสั่ง Maven มันจะอ่านไฟล์ pom เพื่อดำเนินการเฟสการสร้างเฉพาะของคำสั่งนั้น มีวงจรชีวิตของโปรเจ็กต์ที่ยาวนานตั้งแต่วินาทีแรกที่คุณสร้างโปรเจ็กต์จนกระทั่งคุณปรับใช้จริง วงจรชีวิตนี้จะกำหนดลำดับของระยะที่โครงการของคุณควรดำเนินการ แต่ละเฟสแสดงถึงขั้นตอนในวงจรชีวิตและดำเนินงานเฉพาะ เช่น การคอมไพล์ซอร์สโค้ด การรันการทดสอบ และการบรรจุโค้ดให้อยู่ในรูปแบบที่สามารถแจกจ่ายได้ ทั้งหมดนี้ทำให้วงจรชีวิตของโครงการ Maven เป็นแนวคิดสำคัญที่ต้องทำความเข้าใจ เรามาดูรายละเอียดช่วงวงจรชีวิตของ Maven กันดีกว่า:

  1. ตรวจสอบความถูกต้อง: ระยะนี้จะตรวจสอบว่าโครงการถูกต้องและมีข้อมูลที่จำเป็นทั้งหมด
  2. รวบรวม: ในขั้นตอนนี้ จะมีการคอมไพล์ซอร์สโค้ดของโครงการ
  3. ทดสอบ: ขั้นตอนนี้จะทดสอบซอร์สโค้ดที่คอมไพล์โดยใช้กรอบการทดสอบหน่วยที่เหมาะสม
  4. บรรจุุภัณฑ์: เฟสนี้รวมโค้ดที่คอมไพล์แล้วในรูปแบบที่สามารถแจกจ่ายได้ (เช่น JAR, WAR)
  5. ติดตั้ง: ในขั้นตอนการติดตั้ง แพ็กเกจจะถูกติดตั้งในพื้นที่เก็บข้อมูลโลคัล และจะพร้อมใช้งานสำหรับโปรเจ็กต์อื่นบนเครื่องเดียวกัน
  6. ปรับใช้: ระยะนี้จะคัดลอกแพ็กเกจสุดท้ายไปยังพื้นที่เก็บข้อมูลระยะไกลเพื่อแชร์กับนักพัฒนาและโปรเจ็กต์อื่นๆ

แต่ละขั้นตอนเหล่านี้มีคำสั่ง mvn ที่สอดคล้องกันซึ่งเราจะพูดถึงในส่วนต่อๆ ไปของสูตรโกง maven ของเรา สิ่งเหล่านี้จะเป็นคำสั่งที่สำคัญที่สุดที่จะใช้สำหรับจัดการกระบวนการสร้างโปรเจ็กต์ของคุณ

การจัดการการพึ่งพา

หนึ่งในคุณสมบัติหลักของ Maven คือการจัดการการพึ่งพา คุณสมบัตินี้มีความสำคัญอย่างมากต่อประสิทธิภาพของ Maven เนื่องจากทำให้ง่ายต่อการจัดการการพึ่งพาโปรเจ็กต์

Maven จัดการการพึ่งพาอย่างไร

Maven ใช้พื้นที่เก็บข้อมูลส่วนกลางที่เรียกว่า พื้นที่เก็บข้อมูลกลาง Mavenซึ่งโฮสต์ไลบรารีและปลั๊กอินมากมาย เมื่อโปรเจ็กต์ต้องการการขึ้นต่อกัน Maven จะดาวน์โหลดไลบรารีที่ต้องการจากพื้นที่เก็บข้อมูลส่วนกลางโดยอัตโนมัติ และจัดเก็บไว้ในพื้นที่เก็บข้อมูลในเครื่อง พื้นที่เก็บข้อมูลในเครื่องนี้เป็นแคชบนเครื่องภายในของคุณซึ่งจะช่วยลดเวลาในการดาวน์โหลดสำหรับบิวด์ในอนาคต

การพึ่งพาใน Maven ระบุไว้ในไฟล์ pom.xml ไฟล์ภายใต้ <การพึ่งพา> ส่วน. การขึ้นต่อกันแต่ละครั้งถูกกำหนดโดยชุดพิกัด: รหัสกลุ่ม, รหัสสิ่งประดิษฐ์, และ รุ่น.

ขอบเขตการพึ่งพา

เมื่อทำงานกับ Maven คุณสามารถระบุขอบเขตของการขึ้นต่อกันได้ ปัจจัยนี้กำหนดการมองเห็นคลาสพาธและระยะวงจรการใช้งานของการขึ้นต่อกัน ดังนั้นคุณจึงสามารถทราบได้ว่าเฟสใดที่ต้องอาศัยการพึ่งพานี้ ขอบเขตทั่วไปคือ:

  • รวบรวม: นี่คือขอบเขตเริ่มต้น และใช้เมื่อไม่ได้ระบุขอบเขต การขึ้นต่อกันในขอบเขตนี้มีอยู่ในทุกขั้นตอนการสร้างและรวมอยู่ในแพ็คเกจสุดท้าย
  • ที่ให้ไว้: เราคาดว่าการขึ้นต่อกันกับขอบเขตนี้จะพร้อมโดยสภาพแวดล้อมรันไทม์ ใช้ในระหว่างการรวบรวม แต่ไม่รวมอยู่ในแพ็คเกจสุดท้าย
  • รันไทม์: การขึ้นต่อกันเหล่านี้ไม่จำเป็นสำหรับการคอมไพล์ แต่จำเป็นในระหว่างการดำเนินการ รวมอยู่ในคลาสพาธรันไทม์
  • ทดสอบ: การขึ้นต่อกันเหล่านี้จำเป็นสำหรับการคอมไพล์และรันการทดสอบเท่านั้น สิ่งเหล่านี้จะไม่รวมอยู่ในรันไทม์หรือแพ็คเกจสุดท้าย
  • ระบบ: ขอบเขตของระบบจะคล้ายกับขอบเขตที่ให้มา แต่คุณต้องระบุ JAR ที่ Maven จะใช้ JAR ต้องมีอยู่ในพาธของระบบ

การพึ่งพาสกรรมกริยา

หนึ่งในคุณสมบัติอันทรงพลังของ Maven ก็คือสามารถจัดการการพึ่งพาแบบสกรรมกริยาได้ เมื่อโปรเจ็กต์ประกาศการขึ้นต่อกัน Maven จะรวมไม่เพียงแต่การขึ้นต่อกันนั้นเท่านั้น แต่ยังรวมถึงการขึ้นต่อกัน การขึ้นต่อกันของการขึ้นต่อกัน และอื่น ๆ โดยอัตโนมัติ สายการพึ่งพานี้เรียกว่าการพึ่งพาสกรรมกริยา เพื่อให้สิ่งต่าง ๆ ชัดเจน ลองจินตนาการว่าโปรเจ็กต์ของคุณขึ้นอยู่กับ spring-boot-starter-web ตอนนี้ Maven จะรวมไลบรารีทั้งหมดที่ spring-boot-starter-web ขึ้นอยู่กับ เช่น Spring Core, Spring MVC และ Jackson

ตอนนี้คุณรู้เกี่ยวกับทฤษฎีวิธีที่ Maven จัดการการพึ่งพาแล้ว มาดูวิธีใช้งานในทางปฏิบัติกันดีกว่า:

mvn dependency:resolve

คำสั่งนี้สามารถแก้ไขและแสดงการขึ้นต่อกันทั้งหมดที่จำเป็นสำหรับโปรเจ็กต์ของคุณ คุณสามารถใช้มันเพื่อดูว่าโปรเจ็กต์ของคุณขึ้นอยู่กับไลบรารีใด และตรวจสอบให้แน่ใจว่าทุกอย่างเป็นไปตามลำดับ

mvn dependency:tree

ด้วยคำสั่งนี้ คุณสามารถมีโครงสร้างแบบต้นไม้ของการขึ้นต่อกันของโปรเจ็กต์ของคุณได้ โดยจะแสดงให้เห็นว่าการขึ้นต่อกันแต่ละครั้งมีความสัมพันธ์กันอย่างไร และช่วยในการระบุข้อขัดแย้งที่อาจเกิดขึ้น

mvn dependency:analyze

คำสั่งนี้จะวิเคราะห์การขึ้นต่อกันของโปรเจ็กต์ของคุณเพื่อค้นหาอาร์ติแฟกต์ที่ไม่ได้ใช้ ช่วยให้คุณทำความสะอาดโปรเจ็กต์ของคุณและหลีกเลี่ยงการขยายตัวโดยไม่จำเป็น

คุณสมบัติการจัดการการพึ่งพาของ Maven ทำให้กระบวนการพัฒนาของคุณง่ายขึ้น นอกจากนี้ยังช่วยให้คุณหลีกเลี่ยงข้อผิดพลาดทั่วไป และรักษาโครงสร้างโครงการที่สะอาดและเป็นระเบียบ

การดำเนินการ

การดำเนินการใน Maven เกี่ยวข้องกับการรันงานหรือเป้าหมายเฉพาะภายในโครงการ งานเหล่านี้มีตั้งแต่การรันโปรแกรม Java ไปจนถึงการรันสคริปต์หรือคำสั่งภายนอก Maven มีปลั๊กอินที่มีประสิทธิภาพเพื่อทำให้การดำเนินการเหล่านี้เป็นเรื่องง่าย นี่เป็นอีกคุณสมบัติหนึ่งของ Maven ที่ทำให้มันเป็นเครื่องมือที่ยอดเยี่ยมสำหรับการทำให้ส่วนต่างๆ ของเวิร์กโฟลว์โปรเจ็กต์ของคุณเป็นแบบอัตโนมัติ ดังนั้น เรามาทบทวนคำสั่งการดำเนินการ Maven ที่สำคัญกัน:

mvn exec:java

คำสั่งนี้ใช้เพื่อดำเนินการคลาส Java ในโครงการของคุณ มันมีประโยชน์สำหรับการรันคลาสหลักหรือการทดสอบโปรแกรม Java แบบสแตนด์อโลนโดยไม่ต้องรวมแพ็คเกจก่อน

mvn exec:exec

คำสั่งนี้ช่วยให้คุณสามารถรันโปรแกรมหรือสคริปต์ภายนอกจากภายในสภาพแวดล้อม Maven คุณสามารถใช้มันเพื่อรันเชลล์สคริปต์ เครื่องมือภายนอก หรือโปรแกรมอื่นๆ ที่เป็นส่วนหนึ่งของกระบวนการสร้างของคุณ

คำสั่งการดำเนินการใน Maven ช่วยคุณในการทำงานที่ซ้ำกันโดยอัตโนมัติ คุณยังสามารถใช้สิ่งเหล่านี้เพื่อรวมเครื่องมือและสคริปต์ภายนอกเข้ากับวงจรการใช้งาน Maven build ของคุณได้อีกด้วย โดยรวมแล้วพวกเขาสามารถช่วยให้คุณจัดการงานของคุณได้อย่างมีประสิทธิภาพมากขึ้น

การจัดการเซิร์ฟเวอร์และคอนเทนเนอร์

การจัดการเซิร์ฟเวอร์และคอนเทนเนอร์เป็นขั้นตอนสำคัญในการพัฒนาและปรับใช้เว็บแอปพลิเคชัน Maven อำนวยความสะดวกให้กับกระบวนการนี้ด้วยปลั๊กอินอันทรงพลังที่ช่วยให้คุณสามารถรัน ปรับใช้ และจัดการแอปพลิเคชันเว็บบนเซิร์ฟเวอร์และคอนเทนเนอร์ต่างๆ ได้โดยตรงจากกระบวนการสร้างของคุณ ต่อไปนี้เป็นคำสั่ง Maven ที่จำเป็นสำหรับการจัดการเซิร์ฟเวอร์และคอนเทนเนอร์:

mvn tomcat7:run

คำสั่งนี้รันเว็บแอปพลิเคชันของคุณโดยใช้ อาปาเช่ ทอมแคท. มีประโยชน์สำหรับการพัฒนาและการทดสอบในท้องถิ่น และช่วยให้คุณสามารถปรับใช้และทดสอบเว็บแอปพลิเคชันของคุณได้อย่างรวดเร็วโดยไม่ต้องตั้งค่าสภาพแวดล้อมเซิร์ฟเวอร์เต็มรูปแบบ

mvn jetty:run

คำสั่งนี้รันเว็บแอปพลิเคชันของคุณโดยใช้เว็บเซิร์ฟเวอร์ยอดนิยมที่เรียกว่า ท่าเทียบเรือ. เช่นเดียวกับ Tomcat Jetty นั้นยอดเยี่ยมสำหรับการพัฒนาและการทดสอบเนื่องจากมีความสามารถในการปรับใช้ที่เบาและรวดเร็ว

วิธีการทำงานของการจัดการเซิร์ฟเวอร์และคอนเทนเนอร์

Maven ใช้ปลั๊กอินเช่น tomcat7-maven-plugin.php และ ท่าเทียบเรือ-maven-ปลั๊กอิน เพื่อจัดการการทำงานของเซิร์ฟเวอร์ ปลั๊กอินเหล่านี้ช่วยให้คุณสามารถเริ่มต้น หยุด และกำหนดค่าเซิร์ฟเวอร์โดยเป็นส่วนหนึ่งของวงจรการสร้างของคุณ ดังนั้นการพัฒนาและทดสอบเว็บแอปพลิเคชันในสภาพแวดล้อมที่สอดคล้องกันจึงกลายเป็นเรื่องง่ายมากขึ้น การใช้โปรไฟล์ Maven เพื่อกำหนดการกำหนดค่าเซิร์ฟเวอร์สำหรับสภาพแวดล้อมที่แตกต่างกันจะช่วยให้คุณจัดการการตั้งค่าที่แตกต่างกันสำหรับการพัฒนา การทดสอบ และการใช้งานจริง คุณลักษณะของ Maven นี้ยังช่วยให้คุณสามารถกำหนดค่าการบันทึกและการตรวจสอบภายในปลั๊กอินเซิร์ฟเวอร์ของคุณได้ ดังนั้นคุณจึงสามารถติดตามกิจกรรมของเซิร์ฟเวอร์และแก้ไขปัญหาได้อย่างรวดเร็ว

SCM (การจัดการการควบคุมแหล่งที่มา)

สิ่งสำคัญของโครงการพัฒนาคือ Source Control Management (SCM) ทีมพัฒนาจำเป็นต้องมี SCM เพื่อจัดการการเปลี่ยนแปลงซอร์สโค้ดเมื่อเวลาผ่านไป Maven มีชุดคำสั่งเพื่อโต้ตอบกับระบบ SCM เช่น Git, Subversion และอื่นๆ คำสั่งเหล่านี้สามารถทำให้งานต่างๆ ทำงานได้โดยอัตโนมัติ เช่น การเช็คอินโค้ด การเช็คเอาท์โค้ด และการอัปเดตเวอร์ชันของโปรเจ็กต์ ต่อไปนี้คือคำสั่ง Maven SCM หลักบางส่วนและตัวเลือกต่างๆ

mvn scm:checkin

คุณสามารถใช้คำสั่ง mvn นี้เพื่อตรวจสอบการเปลี่ยนแปลงของโปรเจ็กต์ใน SCM คำสั่งนี้ช่วยให้กระบวนการยอมรับการเปลี่ยนแปลงที่เก็บคอนโทรลแหล่งที่มาเป็นแบบอัตโนมัติ ดังนั้นการอัปเดตล่าสุดจะถูกบันทึกและแชร์กับทีมอย่างแน่นอน

mvn scm:checkout

คำสั่ง maven นี้ใช้เพื่อตรวจสอบโค้ดของโปรเจ็กต์จากที่เก็บ SCM และมีประโยชน์ในการรับสำเนาของโปรเจ็กต์ในเครื่อง ดังนั้น คุณมั่นใจได้เสมอว่าคุณกำลังทำงานกับซอร์สโค้ดเวอร์ชันล่าสุด

mvn scm:update

คำสั่ง mvn นี้อัพเดตสำเนาการทำงานในเครื่องของโปรเจ็กต์ด้วยการเปลี่ยนแปลงล่าสุดจากที่เก็บ SCM หน้าที่ของคำสั่งนี้คือเพื่อให้แน่ใจว่าโค้ดเบสในเครื่องของคุณซิงค์กับพื้นที่เก็บข้อมูล และรวมถึงการเปลี่ยนแปลงใหม่ๆ ที่ทำโดยสมาชิกในทีมคนอื่นๆ

mvn scm:status

คำสั่ง mvn นี้แสดงสถานะของสำเนาการทำงานแบบโลคัลที่เกี่ยวข้องกับที่เก็บ SCM กล่าวอีกนัยหนึ่ง จะบอกคุณเกี่ยวกับการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นในโลคัลแต่ยังไม่ได้คอมมิตกับที่เก็บ

mvn scm:tag

คำสั่งนี้ใช้เพื่อสร้างแท็กในที่เก็บ SCM แท็กจะระบุจุดที่เฉพาะเจาะจงในประวัติของโปรเจ็กต์ เช่น การเผยแพร่หรือเหตุการณ์สำคัญ

คำสั่ง Maven SCM สามารถปรับปรุงกระบวนการจัดการซอร์สโค้ดของโปรเจ็กต์ของคุณได้อย่างมาก การทำความเข้าใจและการใช้คำสั่งเหล่านี้จะเพิ่มประสิทธิภาพและการทำงานร่วมกันภายในทีมพัฒนาของคุณ

GPG (ผู้พิทักษ์ความเป็นส่วนตัว GNU)

GNU Privacy Guard (GPG) เป็นซอฟต์แวร์เข้ารหัสที่ช่วยให้ผู้ใช้สามารถเข้ารหัสและลงนามข้อมูลและการสื่อสารได้ ในบริบทของ Maven นั้น GPG ใช้ในการลงนามสิ่งประดิษฐ์เพื่อให้แน่ใจว่ามีความถูกต้องและความสมบูรณ์ นี่เป็นสิ่งสำคัญเมื่อคุณปรับใช้อาร์ติแฟกต์กับที่เก็บข้อมูลสาธารณะ เนื่องจากจะช่วยให้ผู้ใช้ตรวจสอบได้ว่าอาร์ติแฟกต์นั้นไม่ได้ถูกดัดแปลง Maven จัดเตรียมคำสั่งต่างๆ เพื่อทำงานร่วมกับ GPG และอำนวยความสะดวกในกระบวนการลงนามและปรับใช้สิ่งประดิษฐ์ของโครงการของคุณ มาดูคำสั่งเหล่านี้เป็นตัวอย่าง:

mvn gpg:sign

คุณสามารถใช้คำสั่ง maven เพื่อลงนามสิ่งประดิษฐ์ของโครงการกับ GPG การลงนามสิ่งประดิษฐ์ช่วยให้แน่ใจว่าผู้อื่นสามารถตรวจสอบได้ และมอบการรักษาความปลอดภัยและความไว้วางใจอีกระดับหนึ่ง คำสั่งนี้มักใช้ในระหว่างกระบวนการ build เพื่อลงนาม JARs, WARs และส่วนประเภทอื่น ๆ ก่อนนำไปใช้งาน

mvn gpg:sign-and-deploy-file

คำสั่ง mvn นี้รวมการลงนามและการปรับใช้ไฟล์ไว้ในขั้นตอนเดียว คุณสามารถใช้เมื่อคุณต้องการลงนามส่วนต่างๆ และปรับใช้กับพื้นที่เก็บข้อมูลทันที วิธีนี้จะช่วยปรับปรุงกระบวนการของคุณและทำให้แน่ใจได้ว่าคุณต้องการลงนามอาร์ติแฟกต์และปรับใช้กับพื้นที่เก็บข้อมูลทันที

การรวมการลงชื่อเข้าใช้ GPG เข้ากับกระบวนการสร้าง Maven ของคุณสามารถเพิ่มความปลอดภัยและความน่าเชื่อถือของซอฟต์แวร์ของคุณได้ ดังนั้นจึงกลายเป็นเรื่องง่ายสำหรับผู้ใช้ที่จะเชื่อถือและยืนยันอาร์ติแฟกต์ของคุณ

การจัดการการเปิดตัว

การจัดการการเผยแพร่มีความสำคัญมากในการพัฒนาซอฟต์แวร์ ด้วยการจัดการรีลีสที่มีประสิทธิภาพ คุณจะมั่นใจได้ว่าเวอร์ชันซอฟต์แวร์ได้รับการจัดการ จัดทำแพ็กเกจ และปรับใช้อย่างเหมาะสม Maven จัดเตรียมชุดคำสั่งเพื่อทำให้กระบวนการรีลีสเป็นอัตโนมัติและปรับปรุงประสิทธิภาพ มาดูตัวอย่างตัวเลือก Maven และคำสั่งสำหรับการจัดการ Release:

mvn release:prepare

คำสั่ง mvn นี้ใช้เพื่อเตรียมโปรเจ็กต์สำหรับรีลีส มันทำงานต่างๆ เช่น การตรวจสอบว่าไม่มีการเปลี่ยนแปลงใดๆ การอัปเดตหมายเลขเวอร์ชันใน pom.xml การแท็กรีลีสในระบบการจัดการการควบคุมแหล่งที่มา (SCM) และการอัปเดต pom.xml ไฟล์ไปยังเวอร์ชันการพัฒนาถัดไป ช่วยให้แน่ใจว่าโปรเจ็กต์อยู่ในสถานะที่มั่นคงและพร้อมสำหรับการเปิดตัว

mvn release:perform

คำสั่งนี้ดำเนินการกระบวนการรีลีสจริง จะตรวจสอบโปรเจ็กต์จาก SCM ที่แท็กที่สร้างโดย ปล่อย:เตรียมพร้อม คำสั่ง สร้างโปรเจ็กต์ และปรับใช้ส่วนต่าง ๆ กับที่เก็บที่ระบุ คำสั่งนี้ทำให้แน่ใจว่าส่วนที่สร้างขึ้นจากสถานะที่แน่นอนของโค้ด ณ เวลาที่เตรียมการรีลีส

mvn release:clean

คำสั่ง mvn จะลบไฟล์สำรองข้อมูล release descriptor ทั้งหมดที่สร้างขึ้นระหว่าง ปล่อย:เตรียมพร้อม กระบวนการ. ทำความสะอาดสภาพแวดล้อมและตรวจสอบให้แน่ใจว่าไม่มีไฟล์เหลือจากความพยายามเผยแพร่ครั้งก่อน คำสั่งนี้ช่วยให้คุณมีเวิร์กสเปซที่สะอาดและป้องกันปัญหาที่อาจเกิดขึ้นในรีลีสถัดไป

การใช้คำสั่งการจัดการรีลีสจะปรับปรุงกระบวนการรีลีส ปรับปรุงคุณภาพซอฟต์แวร์ และทำให้แน่ใจว่ารีลีสได้รับการจัดการอย่างมีประสิทธิภาพ

ต้นแบบ

หากคุณเป็นนักพัฒนาที่ต้องการสร้างโครงสร้างโปรเจ็กต์ตามเทมเพลตที่กำหนดไว้ล่วงหน้า คุณควรพิจารณาใช้ปลั๊กอิน Maven Archetype ที่นี่ เราจะพูดถึงคำสั่ง Maven หลักที่เกี่ยวข้องกับต้นแบบ

mvn archetype:generate

คุณสามารถใช้คำสั่ง mvn นี้เพื่อสร้างโปรเจ็กต์ใหม่จากเทมเพลตที่มีอยู่หรือ "archetype" คำสั่งนี้จะแนะนำผู้ใช้ในการเลือกต้นแบบและกำหนดค่าโปรเจ็กต์ใหม่ ดังนั้นจึงช่วยให้คุณจัดทำโครงการที่มีโครงสร้างที่ดีได้

mvn archetype:catalog

คำสั่งนี้แสดงรายการต้นแบบที่มีอยู่ซึ่งสามารถใช้เพื่อสร้างโปรเจ็กต์ใหม่ได้ มันมีประโยชน์สำหรับการสำรวจเทมเพลตต่างๆ ที่ชุมชน Maven มอบให้ และพิจารณาว่าต้นแบบใดที่เหมาะกับความต้องการของโปรเจ็กต์ของคุณมากที่สุด

ด้วยการใช้คำสั่ง maven สองคำสั่งนี้ คุณสามารถเริ่มโปรเจ็กต์ใหม่ได้อย่างรวดเร็ว ไม่ว่าคุณจะเริ่มต้นแอปพลิเคชัน Java แบบธรรมดาหรือโปรเจ็กต์ระดับองค์กรที่ซับซ้อน Maven Archetypes ก็เป็นจุดเริ่มต้นที่มีคุณค่า

การจัดการปลั๊กอิน

ปลั๊กอิน Maven ช่วยให้นักพัฒนาสามารถขยายฟังก์ชันการทำงานของ Maven และทำให้งานต่างๆ เป็นแบบอัตโนมัติภายในวงจรการสร้าง การจัดการปลั๊กอินอย่างมีประสิทธิภาพช่วยให้แน่ใจว่าโปรเจ็กต์ของคุณยังคงบำรุงรักษาได้และบิลด์สามารถทำซ้ำได้ ส่วนนี้จะครอบคลุมคำสั่งการจัดการปลั๊กอิน Maven ที่จำเป็น

mvn plugin:download

คำสั่งนี้ใช้เพื่อดาวน์โหลดปลั๊กอิน Maven เฉพาะจากพื้นที่เก็บข้อมูล คุณสามารถใช้เมื่อคุณต้องการให้แน่ใจว่ามีปลั๊กอินเฉพาะอยู่ในพื้นที่เก็บข้อมูลในเครื่องของคุณ ก่อนที่จะรันคำสั่ง Maven อื่นๆ ที่ขึ้นอยู่กับปลั๊กอินนั้น

mvn plugin:help

คำสั่ง Maven นี้จะแสดงข้อมูลโดยละเอียดและเอกสารประกอบเกี่ยวกับปลั๊กอิน Maven เฉพาะ คุณสามารถใช้เมื่อคุณต้องการทำความเข้าใจเป้าหมาย พารามิเตอร์ และการกำหนดค่าต่างๆ ที่มีให้สำหรับปลั๊กอิน

คำสั่งการจัดการปลั๊กอิน Maven เหล่านี้ปรับปรุงกระบวนการสร้าง ทำให้เวิร์กโฟลว์เป็นอัตโนมัติ และรักษามาตรฐานระดับสูงในด้านคุณภาพและความสม่ำเสมอของโปรเจ็กต์

การประกอบและการจัดจำหน่าย

ฟังก์ชันการประกอบและการจัดจำหน่ายของ Maven ช่วยให้นักพัฒนาสามารถจัดแพ็คเกจโปรเจ็กต์ของตนให้อยู่ในรูปแบบต่างๆ เพื่อเผยแพร่ได้ คุณสามารถใช้สิ่งเหล่านี้เพื่อสร้าง JAR ที่สามารถเรียกทำงานได้ แอปพลิเคชันแบบบันเดิล หรือการแจกจ่ายแบบกำหนดเองที่มีการขึ้นต่อกันและทรัพยากรอื่นๆ ในที่นี้ เราจะพูดถึงคำสั่ง Maven ที่สำคัญสำหรับการประกอบและการแจกจ่าย

mvn assembly:assembly

คำสั่งนี้สร้างแอสเซมบลีสำหรับโปรเจ็กต์ แอสเซมบลีเป็นแพ็คเกจที่สามารถแจกจ่ายได้ซึ่งอาจรวมถึงไบนารี ซอร์สโค้ด การขึ้นต่อกัน และทรัพยากรอื่นๆ คำสั่งนี้ใช้ Assembly Plugin เพื่อสร้างแพ็คเกจเหล่านี้ตามตัวอธิบายแอสเซมบลีที่ให้มา

mvn assembly:directory

คำสั่ง mvn นี้สร้างโครงสร้างไดเร็กทอรีของแอสเซมบลีโดยไม่ต้องสร้างไฟล์เก็บถาวรจริงๆ คำสั่งนี้มีประโยชน์สำหรับการทดสอบและตรวจสอบเนื้อหาและโครงสร้างของชุดประกอบก่อนบรรจุภัณฑ์

การเรียนรู้การใช้คำสั่งแอสเซมบลีและการแจกจ่ายของ Maven สามารถช่วยคุณได้มากในการจัดทำแพ็คเกจและกระจายแอปพลิเคชันของคุณ

คำสั่งการสร้างไซต์

คำสั่งไซต์ของ Maven เป็นวิธีที่ดีในการจัดทำเอกสารโครงการ คำสั่งเหล่านี้สร้างเว็บไซต์เอกสารประกอบที่ครอบคลุมสำหรับโครงการของคุณ ในที่นี้ เราจะกล่าวถึงคำสั่งไซต์ที่จำเป็นและฟังก์ชันต่างๆ เหล่านี้:

mvn site

คำสั่ง mvn site สร้างเอกสารประกอบไซต์ของโปรเจ็กต์และรวมข้อมูลเกี่ยวกับโปรเจ็กต์ เช่น สรุปโปรเจ็กต์ รายงานการขึ้นต่อกัน การใช้ปลั๊กอิน และอื่นๆ

mvn site:deploy

คุณสามารถใช้คำสั่งนี้เพื่อปรับใช้ไซต์ที่สร้างขึ้นกับเซิร์ฟเวอร์ระยะไกล สิ่งนี้มีประโยชน์ในการเผยแพร่เอกสารให้กับผู้ชมในวงกว้าง เช่น สมาชิกในทีมหรือสาธารณะ

mvn site:stage

คำสั่งนี้แบ่งไซต์เป็นไดเร็กทอรีในเครื่อง คุณสามารถใช้คำสั่งนี้เพื่อดูตัวอย่างไซต์ในเครื่องก่อนที่จะปรับใช้กับเซิร์ฟเวอร์ระยะไกล

เอกสารที่เรียบร้อยและเป็นระเบียบเป็นสิ่งสำคัญมากในการพัฒนาโครงการ คำสั่งไซต์ Maven ช่วยให้คุณมีทุกอย่างพร้อมและมีการสื่อสารที่ดีขึ้นภายในทีมพัฒนา

คำสั่งสงครามและ JAR

ในฐานะนักพัฒนา คุณทราบดีว่าความสามารถในการรวมแอปพลิเคชันของคุณในรูปแบบต่างๆ นั้นมีความสำคัญมากในกระบวนการพัฒนา Maven ช่วยให้คุณสามารถจัดแพคเกจแอปพลิเคชัน Java เป็นรูปแบบต่างๆ รวมถึงไฟล์ WAR (Web Application Archive) และ JAR (Java Archive) ความสำคัญของรูปแบบบรรจุภัณฑ์เหล่านี้จะชัดเจนเมื่อคุณต้องการปรับใช้แอปพลิเคชันกับเซิร์ฟเวอร์และแจกจ่ายไลบรารี ที่นี่ เราจะกล่าวถึงคำสั่ง mvn ที่สำคัญสำหรับการสร้างไฟล์ WAR และ JAR:

mvn war:war

คำสั่งนี้จะรวบรวมโปรเจ็กต์ของคุณและแพ็กเกจเป็นไฟล์ WAR เมื่อคุณรันคำสั่งนี้ Maven จะสร้างไฟล์ WAR ในไดเร็กทอรีเป้าหมายของโปรเจ็กต์ของคุณ

mvn jar:jar

คำสั่งนี้จะคอมไพล์โปรเจ็กต์ของคุณและแพ็กเกจเป็นไฟล์ JAR ในไดเร็กทอรีเป้าหมายของโปรเจ็กต์ของคุณ

คำสั่งทั้งสองนี้ช่วยคุณในการปรับใช้และการแจกจ่าย คุณจึงสามารถใช้สิ่งเหล่านี้เพื่อจัดการและแจกจ่ายแอปพลิเคชัน Java ของคุณได้อย่างมีประสิทธิภาพ

การรายงาน

โครงการซอฟต์แวร์ใดๆ จำเป็นต้องมีการรายงานโดยละเอียดเพื่อติดตามความคืบหน้า และ Maven มีปลั๊กอินและคำสั่ง mvn อันทรงพลังสำหรับการสร้างรายงานประเภทต่างๆ ส่วนนี้ครอบคลุมถึงปลั๊กอิน Maven สองปลั๊กอินที่คุณสามารถใช้เพื่อรายงาน: Surefire และ JaCoCo

ปลั๊กอิน Surefire

คุณสามารถใช้ปลั๊กอินนี้เพื่อรันการทดสอบหน่วยในโปรเจ็กต์ Maven สร้างรายงานโดยละเอียดเกี่ยวกับการทดสอบที่ดำเนินการ เพื่อให้คุณมั่นใจได้ว่าโค้ดจะทำงานตามที่คุณคาดหวัง

mvn surefire-report:report

คำสั่งนี้สร้างรายงานการทดสอบหน่วยในรูปแบบที่อ่านและวิเคราะห์ได้ง่าย ด้วยคำสั่งนี้ Maven จะสร้างรายงาน HTML ในไฟล์ เป้าหมาย/ไซต์ ไดเรกทอรีของโครงการของคุณ รายงานนี้ประกอบด้วยข้อมูลเกี่ยวกับจำนวนการทดสอบที่ดำเนินการ ผ่าน และล้มเหลว พร้อมด้วยการติดตามสแต็กโดยละเอียดสำหรับความล้มเหลวใดๆ

ปลั๊กอิน JaCoCo

คุณสามารถใช้ปลั๊กอินนี้เพื่อวัดและรายงานการครอบคลุมโค้ดโดยการทดสอบหน่วย ดังนั้นคุณจึงมั่นใจได้ว่าการทดสอบของคุณครอบคลุมโค้ดเบส

mvn jacoco:report

หากคุณต้องการดูว่าส่วนใดของโค้ดได้รับการทดสอบและส่วนใดที่ยังไม่ได้ทดสอบ คำสั่งนี้จะให้รายงานการครอบคลุมโค้ดแก่คุณ รายงานที่คำสั่งนี้สร้างเป็นรายงาน HTML ในรูปแบบ เป้าหมาย/ไซต์/jacoco ไดเร็กทอรีที่แสดงเมตริกความครอบคลุมโดยละเอียดสำหรับคลาส วิธีการ และบรรทัดของโค้ด

ปลั๊กอินทั้งสองนี้ช่วยคุณติดตามผลการทดสอบและความครอบคลุมของโค้ด และให้ข้อมูลเชิงลึกที่เป็นประโยชน์เกี่ยวกับความสมบูรณ์และคุณภาพของโค้ดเบสของคุณ

สร้างการปรับแต่ง

Maven ช่วยให้คุณปรับแต่งบิลด์ให้ตรงตามความต้องการเฉพาะของโปรเจ็กต์ของคุณได้ ในส่วนนี้ เราจะกล่าวถึงวิธีใช้โปรไฟล์ Maven และคำจำกัดความคุณสมบัติสำหรับการปรับแต่งบิลด์

โปรไฟล์มาเวน

ด้วยโปรไฟล์ Maven คุณสามารถกำหนดการกำหนดค่าต่างๆ สำหรับโปรเจ็กต์ของคุณ ซึ่งสามารถเปิดใช้งานได้ตามปัจจัยต่างๆ เช่น คุณสมบัติของระบบ ตัวแปรสภาพแวดล้อม หรือเงื่อนไขที่กำหนดเอง ซึ่งหมายความว่าคุณสามารถปรับแต่งกระบวนการสร้างสำหรับสภาพแวดล้อมที่แตกต่างกันได้ เช่น การพัฒนา การทดสอบ และการใช้งานจริง คุณสามารถกำหนดโปรไฟล์ในของคุณ pom.xml ไฟล์ภายใต้ <โปรไฟล์> ส่วน. และ -p ตัวเลือกตามด้วยรหัสโปรไฟล์จะเปิดใช้งานโปรไฟล์ให้คุณ

คำจำกัดความของคุณสมบัติ

คุณสมบัติ Maven ช่วยให้คุณสามารถกำหนดค่าที่สามารถนำมาใช้ซ้ำได้ตลอดทั้งของคุณ pom.xml ไฟล์. คุณสมบัติเหล่านี้สามารถระบุได้ใน pom.xmlผ่านทางบรรทัดคำสั่งหรือในไฟล์คุณสมบัติภายนอก คุณสามารถกำหนดคุณสมบัติได้ในไฟล์ <คุณสมบัติ> ส่วนของคุณ pom.xml. หลังจากกำหนดแล้ว คุณสามารถใช้คุณสมบัติเหล่านี้ได้ตลอด pom.xml ไฟล์.

การปรับแต่งกระบวนการสร้างใน Maven สามารถช่วยให้คุณปรับโปรเจ็กต์ของคุณให้เข้ากับสภาพแวดล้อมและข้อกำหนดที่แตกต่างกันได้ ด้วยการใช้โปรไฟล์ คุณสามารถสลับระหว่างการตั้งค่าบิลด์ต่างๆ และโดยการใช้คุณสมบัติ คุณสามารถนำกลับมาใช้ใหม่และจัดการค่าต่างๆ ได้อย่างมีประสิทธิภาพ

บทสรุป

บล็อกนี้ให้ข้อมูลเบื้องต้นที่ครอบคลุมเกี่ยวกับ Maven พร้อมทั้งแนะนำคุณตลอดทุกขั้นตอนของกระบวนการพัฒนาแอปพลิเคชัน Java ในฐานะเครื่องมืออัตโนมัติอันทรงพลังสำหรับโปรเจ็กต์ Java Maven มีคำสั่งและความสามารถที่แตกต่างกันสำหรับแต่ละขั้นตอนของการพัฒนา และการรู้วิธีทำงานกับคำสั่งเหล่านี้และการอยู่เหนือคำสั่งเหล่านั้นจะเปลี่ยนคุณภาพของกระบวนการพัฒนาของคุณให้ดีขึ้น

คำถามที่พบบ่อย

มาเวนใช้ทำอะไร?

Maven คือเครื่องมือสร้างระบบอัตโนมัติและการจัดการโครงการสำหรับโปรเจ็กต์ Java ช่วยให้กระบวนการสร้างง่ายขึ้น จัดการการขึ้นต่อกันของโปรเจ็กต์ และจัดเตรียมโครงสร้างโปรเจ็กต์ที่ได้มาตรฐาน Maven ยังสนับสนุนเอกสารโครงการ การรายงาน และการแจกจ่าย

POM ใน Maven คืออะไร

Maven เป็นเครื่องมือที่ทำให้กระบวนการสร้างและการจัดการการพึ่งพาสำหรับโปรเจ็กต์ Java เป็นแบบอัตโนมัติ POM (Project Object Model) เป็นไฟล์ XML ใน Maven ที่มีข้อมูลเกี่ยวกับโปรเจ็กต์และรายละเอียดการกำหนดค่าที่ Maven ใช้ในการสร้างโปรเจ็กต์ ไฟล์ POM กำหนดการขึ้นต่อกันของโปรเจ็กต์ ปลั๊กอิน เป้าหมาย และการกำหนดค่าบิลด์อื่นๆ

แบ่งปัน

เพิ่มเติมจากบล็อก

อ่านต่อ

รูปภาพฟีเจอร์รีวิว Odoo พร้อมข้อความพาดหัวขนาดใหญ่ทางด้านซ้ายและโลโก้ Odoo ทางด้านขวา ล้อมรอบด้วยแผงอินเทอร์เฟซแอพแบบลอยในพื้นหลังธีมเมฆสีม่วงอ่อน
แอพบนเว็บและธุรกิจ

การตรวจสอบ Odoo ที่ครอบคลุม: Odoo ERP ที่เหมาะกับธุรกิจของคุณหรือไม่

Odoo เป็นหนึ่งในแพลตฟอร์ม ERP ที่ได้รับการพิจารณาอย่างกว้างขวางที่สุดสำหรับธุรกิจที่กำลังเติบโต ด้วยเหตุผลง่ายๆ ประการหนึ่ง ซึ่งก็คือให้คำมั่นสัญญามากมายในที่เดียว การขาย การบัญชี สินค้าคงคลัง

จิม ชวาร์ซจิม ชวาร์ซ อ่าน 11 นาที
ทางเลือก WordPress แบบโอเพ่นซอร์สมีรูปภาพพร้อมพื้นหลังไล่ระดับสีสัน หน้าจอเดสก์ท็อป โปรแกรมแก้ไขโค้ด การแสดงตัวอย่างแดชบอร์ดที่เบลอ และข้อความพาดหัวขนาดใหญ่ทางด้านซ้าย
แอพบนเว็บและธุรกิจ

ทางเลือก WordPress โอเพ่นซอร์สที่ดีที่สุดสำหรับนักพัฒนา

WordPress ยังคงมีความสำคัญและยังคงให้บริการเว็บไซต์จำนวนมากได้ดี ไดเร็กทอรีปลั๊กอินมีโฮสต์มากกว่า 62,000 ปลั๊กอิน และไดเร็กทอรีธีมมีธีมฟรีมากกว่า 14,000 ธีม ท่า

จิม ชวาร์ซจิม ชวาร์ซ อ่าน 14 นาที
ภาพฟีเจอร์ Automated vs. WordPress ที่มีทั้งโลโก้แพลตฟอร์มและพาดหัวถามว่านักพัฒนา CMS คนใดควรเลือก
แอพบนเว็บและธุรกิจ

Automad กับ WordPress: การเปรียบเทียบอย่างละเอียดระหว่างสองแพลตฟอร์ม CMS ที่ดีที่สุด

Automatad และ WordPress แก้ปัญหางานเดียวกันในสองวิธีที่แตกต่างกันมาก Automad เป็นโปรแกรม CMS และเทมเพลตแบบไฟล์เรียบ ดังนั้นเนื้อหาจึงอยู่ในไฟล์แทนที่จะเป็นฐานข้อมูล แต่เป็น WordPress

จิม ชวาร์ซจิม ชวาร์ซ อ่าน 9 นาที

พร้อมที่จะใช้งานหรือยัง? จาก $2.48/เดือน

คลาวด์อิสระ ตั้งแต่ปี 2008 AMD EPYC, NVMe, 40 Gbps คืนเงินภายใน 14 วัน