ฉันเพิ่งรู้จัก Maven มาจากโลก Ant
เป็นไปได้ไหมที่จะแสดงรายการเป้าหมายที่เป็นไปได้ทั้งหมด (รวมถึงปลั๊กอินทั้งหมด) ที่คุณสามารถเรียกใช้ได้
ฉันเห็นว่าเคยมี-g
แฟล็กใน Maven 1 แต่ไม่มีในเวอร์ชัน 2
ฉันเพิ่งรู้จัก Maven มาจากโลก Ant
เป็นไปได้ไหมที่จะแสดงรายการเป้าหมายที่เป็นไปได้ทั้งหมด (รวมถึงปลั๊กอินทั้งหมด) ที่คุณสามารถเรียกใช้ได้
ฉันเห็นว่าเคยมี-g
แฟล็กใน Maven 1 แต่ไม่มีในเวอร์ชัน 2
คำตอบ:
เป้าหมายที่คุณระบุในบรรทัดคำสั่งเชื่อมโยงกับวงจรชีวิตของ Maven ตัวอย่างเช่นbuild
วงจรชีวิต (คุณมีclean
และsite
วงจรชีวิตที่แตกต่างกันด้วย) ประกอบด้วยขั้นตอนต่อไปนี้:
validate
: ตรวจสอบความถูกต้องของโครงการและมีข้อมูลที่จำเป็นทั้งหมดcompile
: รวบรวมซอร์สโค้ดของโครงการtest
: ทดสอบซอร์สโค้ดที่คอมไพล์แล้วโดยใช้กรอบการทดสอบหน่วยที่เหมาะสม การทดสอบเหล่านี้ไม่ควรกำหนดให้มีการแพ็กเกจหรือปรับใช้โค้ดpackage
: นำโค้ดที่คอมไพล์แล้วมาทำแพ็กเกจในรูปแบบที่แจกจ่ายได้เช่น JARintegration-test
: ประมวลผลและปรับใช้แพ็กเกจหากจำเป็นในสภาพแวดล้อมที่สามารถรันการทดสอบการรวมได้verify
: เรียกใช้การตรวจสอบใด ๆ เพื่อตรวจสอบว่าบรรจุภัณฑ์ถูกต้องและตรงตามเกณฑ์คุณภาพinstall
: ติดตั้งแพ็กเกจลงในที่เก็บโลคัลเพื่อใช้เป็นการอ้างอิงในโปรเจ็กต์อื่นในเครื่องdeploy
: ทำในสภาพแวดล้อมการรวมหรือรีลีสคัดลอกแพ็กเกจสุดท้ายไปยังที่เก็บระยะไกลเพื่อแชร์กับนักพัฒนาและโครงการอื่น ๆคุณสามารถหารายชื่อของ "แก่น" ปลั๊กอินที่นี่แต่มีความอุดมสมบูรณ์ของปลั๊กอินอื่น ๆ เช่นคน codehaus ที่นี่
เป็นไปได้หรือไม่ที่จะแสดงรายการเป้าหมายที่เป็นไปได้ทั้งหมด (รวมถึงกล่าวว่าปลั๊กอินทั้งหมด) ที่สามารถเรียกใช้
Maven ไม่มีอะไรในตัวแม้ว่ารายการของขั้นตอนจะ จำกัด (รายการเป้าหมายของปลั๊กอินไม่ได้เป็นเพราะไม่มีรายการปลั๊กอิน)
แต่คุณสามารถทำให้สิ่งต่างๆง่ายขึ้นและใช้ประโยชน์จากพลังของ bash complete (โดยใช้ cygwin หากคุณอยู่ภายใต้ Windows) ตามที่อธิบายไว้ในGuide to Maven 2.x auto complete โดยใช้ BASH (แต่ก่อนที่จะเลือกสคริปต์จากคู่มือนี้โปรดอ่านเพิ่มเติม ).
เพื่อให้สิ่งต่างๆใช้งานได้ขั้นแรกทำตามคำแนะนำนี้เพื่อตั้งค่า bash complete บนคอมพิวเตอร์ จากนั้นถึงเวลารับสคริปต์สำหรับ Maven2 และ:
maven
ใน Ubuntu) ซึ่งคุณสามารถดาวน์โหลดได้จาก HEAD เป็นเพียงหนึ่งที่ดีที่สุดด้านล่างนี่คือสิ่งที่ฉันได้รับเพื่อแสดงผลลัพธ์:
$ mvn [tab] [tab] แสดงความเป็นไปได้ทั้งหมด 377 รายการ? (y หรือ n) มด: มด มด: สะอาด มด: ช่วยด้วย antrun: ช่วยด้วย antrun: วิ่ง แม่แบบ: รวบรวมข้อมูล archetype: สร้าง แม่แบบ: สร้างจากโครงการ archetype: สร้าง แม่แบบ: ช่วยด้วย การประกอบ: การประกอบ แอสเซมบลี: ไดเร็กทอรี แอสเซมบลี: directory-single การชุมนุม: ช่วยด้วย การประกอบ: เดี่ยว ...
แน่นอนฉันไม่เคยเรียกดู 377 ความเป็นไปได้ฉันใช้การทำให้สมบูรณ์ แต่สิ่งนี้ทำให้คุณมีความคิดเกี่ยวกับขนาดของรายการ "a" :)
Maven Shell
เครื่องมือใหม่มีการเติมข้อมูลอัตโนมัติซึ่งอาจมีประโยชน์ที่นี่หรือไม่?
mvnsh
ไม่ได้จัดเตรียมไว้ให้เสร็จสมบูรณ์ (อย่างน้อยก็ไม่ใช่ในเวอร์ชันที่ฉันมีในเครื่องของฉัน) ฉันตรวจสอบก่อนตอบ :)
ให้มันง่ายมาก:
Maven Lifecycles: 1. Clean 2. Default (build) 3. Site
ขั้นตอน Maven ของวงจรการใช้งานเริ่มต้น: 1. ตรวจสอบ 2. คอมไพล์ 3. ทดสอบ 4. แพ็คเกจ 5. ตรวจสอบ 6. ติดตั้ง 7. ปรับใช้
หมายเหตุ: อย่าผสมหรือสับสนกับเป้าหมายของ maven กับวงจรชีวิตของ maven
ดู Maven Build Lifecycle Basics 1
Build Lifecycle ประกอบด้วยขั้นตอนต่างๆ
วงจรชีวิตการสร้างแต่ละรายการเหล่านี้ถูกกำหนดโดยรายการของขั้นตอนการสร้างที่แตกต่างกันโดยที่เฟสการสร้างแสดงถึงระยะในวงจรชีวิต
ตัวอย่างเช่นวงจรการใช้งานเริ่มต้นประกอบด้วยขั้นตอนต่อไปนี้ (สำหรับรายการขั้นตอนของวงจรชีวิตทั้งหมดโปรดดูที่การอ้างอิงวงจรการใช้งาน):
ขั้นตอนของวงจรการใช้งานเหล่านี้ (รวมถึงเฟสวงจรการใช้งานอื่น ๆ ที่ไม่ได้แสดงไว้ที่นี่) จะถูกดำเนินการตามลำดับเพื่อให้วงจรชีวิตเริ่มต้นสมบูรณ์ เมื่อพิจารณาถึงช่วงอายุการใช้งานข้างต้นหมายความว่าเมื่อใช้วงจรชีวิตเริ่มต้น Maven จะตรวจสอบความถูกต้องของโครงการก่อนจากนั้นจะพยายามรวบรวมแหล่งที่มาเรียกใช้สิ่งเหล่านั้นกับการทดสอบจัดแพ็คเกจไบนารี (เช่น jar) เรียกใช้การทดสอบการรวมกับสิ่งนั้น แพ็กเกจตรวจสอบการทดสอบการรวมติดตั้งแพ็กเกจที่ตรวจสอบแล้วไปยังที่เก็บโลคัลจากนั้นปรับใช้แพ็กเกจที่ติดตั้งกับที่เก็บแบบรีโมต
ที่มา: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html