รายชื่อเป้าหมายที่เป็นไปได้ทั้งหมดใน Maven 2?


105

ฉันเพิ่งรู้จัก Maven มาจากโลก Ant

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

ฉันเห็นว่าเคยมี-gแฟล็กใน Maven 1 แต่ไม่มีในเวอร์ชัน 2


4
มันทำให้ฉันบ้าคลั่งที่ maven ไม่สามารถตอบคำถามนี้ได้หากไม่มีหน้า xml! สิ่งที่ดี!
Kieveli

คำตอบ:


120

เป้าหมายที่คุณระบุในบรรทัดคำสั่งเชื่อมโยงกับวงจรชีวิตของ Maven ตัวอย่างเช่นbuildวงจรชีวิต (คุณมีcleanและsiteวงจรชีวิตที่แตกต่างกันด้วย) ประกอบด้วยขั้นตอนต่อไปนี้:

  • validate: ตรวจสอบความถูกต้องของโครงการและมีข้อมูลที่จำเป็นทั้งหมด
  • compile: รวบรวมซอร์สโค้ดของโครงการ
  • test: ทดสอบซอร์สโค้ดที่คอมไพล์แล้วโดยใช้กรอบการทดสอบหน่วยที่เหมาะสม การทดสอบเหล่านี้ไม่ควรกำหนดให้มีการแพ็กเกจหรือปรับใช้โค้ด
  • package: นำโค้ดที่คอมไพล์แล้วมาทำแพ็กเกจในรูปแบบที่แจกจ่ายได้เช่น JAR
  • integration-test: ประมวลผลและปรับใช้แพ็กเกจหากจำเป็นในสภาพแวดล้อมที่สามารถรันการทดสอบการรวมได้
  • verify: เรียกใช้การตรวจสอบใด ๆ เพื่อตรวจสอบว่าบรรจุภัณฑ์ถูกต้องและตรงตามเกณฑ์คุณภาพ
  • install: ติดตั้งแพ็กเกจลงในที่เก็บโลคัลเพื่อใช้เป็นการอ้างอิงในโปรเจ็กต์อื่นในเครื่อง
  • deploy: ทำในสภาพแวดล้อมการรวมหรือรีลีสคัดลอกแพ็กเกจสุดท้ายไปยังที่เก็บระยะไกลเพื่อแชร์กับนักพัฒนาและโครงการอื่น ๆ

คุณสามารถหารายชื่อของ "แก่น" ปลั๊กอินที่นี่แต่มีความอุดมสมบูรณ์ของปลั๊กอินอื่น ๆ เช่นคน codehaus ที่นี่


1
ดูข้อมูลอ้างอิงวงจรการใช้งาน ชิ้นส่วนอายุการใช้งานทั้งหมดแสดงรายการไว้ที่นั่น
Salandur

51

เป็นไปได้หรือไม่ที่จะแสดงรายการเป้าหมายที่เป็นไปได้ทั้งหมด (รวมถึงกล่าวว่าปลั๊กอินทั้งหมด) ที่สามารถเรียกใช้

Maven ไม่มีอะไรในตัวแม้ว่ารายการของขั้นตอนจะ จำกัด (รายการเป้าหมายของปลั๊กอินไม่ได้เป็นเพราะไม่มีรายการปลั๊กอิน)

แต่คุณสามารถทำให้สิ่งต่างๆง่ายขึ้นและใช้ประโยชน์จากพลังของ bash complete (โดยใช้ cygwin หากคุณอยู่ภายใต้ Windows) ตามที่อธิบายไว้ในGuide to Maven 2.x auto complete โดยใช้ BASH (แต่ก่อนที่จะเลือกสคริปต์จากคู่มือนี้โปรดอ่านเพิ่มเติม ).

เพื่อให้สิ่งต่างๆใช้งานได้ขั้นแรกทำตามคำแนะนำนี้เพื่อตั้งค่า bash complete บนคอมพิวเตอร์ จากนั้นถึงเวลารับสคริปต์สำหรับ Maven2 และ:

  • ในขณะที่คุณสามารถใช้คำแนะนำจากมินิไกด์
  • ในขณะที่คุณใช้เวอร์ชันปรับปรุงที่แนบมากับMNG-3928
  • ในขณะที่คุณสามารถใช้สคริปต์แบบสุ่มที่พบในเน็ต (ดูแหล่งข้อมูลหากคุณสงสัย)
  • ฉันใช้สคริปต์ Bash Completionเป็นการส่วนตัวจาก PPA ของ Ludovic Claude (ซึ่งรวมอยู่ในเวอร์ชันบรรจุmavenใน Ubuntu) ซึ่งคุณสามารถดาวน์โหลดได้จาก HEAD เป็นเพียงหนึ่งที่ดีที่สุด

ด้านล่างนี่คือสิ่งที่ฉันได้รับเพื่อแสดงผลลัพธ์:

$ mvn [tab] [tab]
 แสดงความเป็นไปได้ทั้งหมด 377 รายการ? (y หรือ n)
มด: มด 
มด: สะอาด 
มด: ช่วยด้วย 
antrun: ช่วยด้วย 
antrun: วิ่ง 
แม่แบบ: รวบรวมข้อมูล 
archetype: สร้าง 
แม่แบบ: สร้างจากโครงการ 
archetype: สร้าง 
แม่แบบ: ช่วยด้วย 
การประกอบ: การประกอบ 
แอสเซมบลี: ไดเร็กทอรี 
แอสเซมบลี: directory-single 
การชุมนุม: ช่วยด้วย 
การประกอบ: เดี่ยว  
... 

แน่นอนฉันไม่เคยเรียกดู 377 ความเป็นไปได้ฉันใช้การทำให้สมบูรณ์ แต่สิ่งนี้ทำให้คุณมีความคิดเกี่ยวกับขนาดของรายการ "a" :)

ทรัพยากร


2
ยังไม่ได้ดูเลย แต่Maven Shellเครื่องมือใหม่มีการเติมข้อมูลอัตโนมัติซึ่งอาจมีประโยชน์ที่นี่หรือไม่?
Romain Linsolas

2
@romain ไม่ใช่mvnshไม่ได้จัดเตรียมไว้ให้เสร็จสมบูรณ์ (อย่างน้อยก็ไม่ใช่ในเวอร์ชันที่ฉันมีในเครื่องของฉัน) ฉันตรวจสอบก่อนตอบ :)
Pascal Thivent

7

หากคุณใช้ IntelliJ IDEA คุณสามารถเรียกดูเป้าหมาย / งานของ maven ทั้งหมด (รวมถึงปลั๊กอิน) ในMaven Projectsแท็บ:

โครงการ Maven


2
ฉันต้องการทำสิ่งนี้ผ่านคำสั่งบางอย่าง IntelliJ IDEA เป็นอย่างไร?
nacho4d

0

ให้มันง่ายมาก:

Maven Lifecycles: 1. Clean 2. Default (build) 3. Site

ขั้นตอน Maven ของวงจรการใช้งานเริ่มต้น: 1. ตรวจสอบ 2. คอมไพล์ 3. ทดสอบ 4. แพ็คเกจ 5. ตรวจสอบ 6. ติดตั้ง 7. ปรับใช้

หมายเหตุ: อย่าผสมหรือสับสนกับเป้าหมายของ maven กับวงจรชีวิตของ maven

ดู Maven Build Lifecycle Basics 1


0

Build Lifecycle ประกอบด้วยขั้นตอนต่างๆ

วงจรชีวิตการสร้างแต่ละรายการเหล่านี้ถูกกำหนดโดยรายการของขั้นตอนการสร้างที่แตกต่างกันโดยที่เฟสการสร้างแสดงถึงระยะในวงจรชีวิต

ตัวอย่างเช่นวงจรการใช้งานเริ่มต้นประกอบด้วยขั้นตอนต่อไปนี้ (สำหรับรายการขั้นตอนของวงจรชีวิตทั้งหมดโปรดดูที่การอ้างอิงวงจรการใช้งาน):

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

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

ที่มา: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.