โครงสร้างโปรเจกต์ Maven
POM วงจรชีวิต และสิ่งที่ต้องพึ่งพา
โครงสร้างโปรเจกต์ Maven เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
โครงสร้างโครงการ Maven
Maven เป็นเครื่องมือสร้างและตัวจัดการสิ่งพึ่งพาที่ใช้หลักการเดียวเป็นแกนหลัก นั่นคือ ใช้ขนบแทนการกำหนดค่า เพียงทำตามโครงสร้างมาตรฐานของ Maven ส่วนใหญ่ก็จะทำงานได้โดยแทบไม่ต้องตั้งค่า บทเรียนนี้ครอบคลุมโครงสร้าง POM และการจัดการสิ่งพึ่งพา
โครงสร้างไดเรกทอรีมาตรฐาน
Maven คาดหวังโครงสร้างตายตัวดังนี้:
src/main/java— ซอร์สโค้ดสำหรับการใช้งานจริงsrc/main/resources— ทรัพยากรสำหรับการใช้งานจริงsrc/test/java— ซอร์สโค้ดสำหรับการทดสอบtarget/— ผลลัพธ์การสร้างที่ระบบสร้างขึ้น
POM
หัวใจของโครงการ Maven คือ pom.xml หรือ แบบจำลองวัตถุโครงการ ซึ่งประกาศพิกัด สิ่งพึ่งพา ปลั๊กอิน และการตั้งค่าการสร้างใน XML
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
</project>พิกัด: GAV
ชิ้นงานทุกชิ้นระบุด้วย groupId, artifactId และ เวอร์ชัน (GAV) พิกัดเหล่านี้ใช้ระบุชื่อโครงการและสิ่งพึ่งพาทุกอย่างที่คุณดึงมาได้อย่างไม่ซ้ำกัน
การประกาศสิ่งพึ่งพา
สิ่งพึ่งพาจะแสดงรายการอยู่ภายใน <dependencies> Maven จะดาวน์โหลดสิ่งพึ่งพาเหล่านั้น รวมถึงสิ่งพึ่งพาที่สืบทอดต่อกันมา จากที่เก็บอย่าง Maven ส่วนกลางลงในแคชภายในเครื่อง
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>ขอบเขตของสิ่งพึ่งพา
ขอบเขตจะควบคุมว่าสิ่งพึ่งพาจะอยู่บนเส้นทางคลาสเมื่อใด:
- คอมไพล์ — ใช้ได้ทุกที่ (ค่าเริ่มต้น)
- จัดเตรียมให้ — ใช้ได้เฉพาะตอนคอมไพล์ โดยคอนเทนเนอร์จะจัดเตรียมให้ขณะทำงาน
- ขณะทำงาน — ใช้ขณะทำงานและทดสอบ แต่ไม่ใช้ตอนคอมไพล์
- ทดสอบ — ใช้เฉพาะการคอมไพล์และการทำงานของการทดสอบ
สิ่งพึ่งพาที่สืบทอดต่อกันมา
หาก A พึ่งพา B และ B พึ่งพา C Maven จะจัดเตรียม C ให้คุณโดยอัตโนมัติ ซึ่งเรียกว่า การสืบทอดต่อกัน เมื่อเวอร์ชันขัดแย้งกัน Maven จะแก้ไขโดยเลือก คำจำกัดความที่ใกล้ที่สุด ในต้นไม้สิ่งพึ่งพา
วงจรชีวิตการสร้าง
Maven กำหนด วงจรชีวิต ที่ประกอบด้วยระยะต่าง ๆ ตามลำดับ วงจรชีวิตเริ่มต้นประกอบด้วยระยะต่อไปนี้ตามลำดับ: validate, compile, test, package, verify, install, deploy เมื่อเรียกใช้ระยะใด ระบบจะเรียกใช้ระยะก่อนหน้าทั้งหมดด้วย
คำสั่งทั่วไป
mvn compile— คอมไพล์ซอร์สหลักmvn test— เรียกใช้การทดสอบหน่วยmvn package— สร้าง JAR/WAR ลงในtarget/mvn install— คัดลอกชิ้นงานไปยังที่เก็บภายในเครื่องของคุณ เพื่อให้โครงการอื่นใช้งานได้
ที่เก็บภายในเครื่อง
ชิ้นงานที่ดาวน์โหลดมาจะถูกแคชไว้ใน ~/.m2/repository การสร้างครั้งถัดไปจะใช้แคชแทนการดาวน์โหลดใหม่ mvn install จะนำชิ้นงานของคุณเองไปไว้ที่นั่น เพื่อให้โครงการข้างเคียงสามารถพึ่งพาได้
โครงการหลายโมดูล
POM หลักที่มี <packaging>pom</packaging> สามารถแสดงรายการโมดูลลูกใน <modules> ได้ Maven จะสร้างโมดูลเหล่านั้นตามลำดับของสิ่งพึ่งพา ทำให้ระบบขนาดใหญ่ใช้การตั้งค่าและเวอร์ชันร่วมกันจากที่เดียว
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับโครงสร้าง Maven
สรุป
คุณได้เรียนรู้พื้นฐานของ Maven:
- ใช้ขนบแทนการกำหนดค่า โดยใช้โครงสร้างมาตรฐาน
src/main/java - POM ประกาศพิกัด GAV สิ่งพึ่งพา และปลั๊กอิน
- ขอบเขต (คอมไพล์ จัดเตรียมให้ ขณะทำงาน ทดสอบ) ควบคุมการมองเห็นบนเส้นทางคลาส
- สิ่งพึ่งพา สืบทอดต่อกัน และความขัดแย้งจะได้รับการแก้ไขโดยใช้คำจำกัดความที่ใกล้ที่สุด
- วงจรชีวิต ตามลำดับหมายความว่าการเรียกใช้ระยะหนึ่งจะเรียกใช้ระยะก่อนหน้าทั้งหมด
คำถามที่พบบ่อย
บทเรียน “โครงสร้างโปรเจกต์ Maven” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “โครงสร้างโปรเจกต์ Maven” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “โครงสร้างโปรเจกต์ Maven”
POM วงจรชีวิต และสิ่งที่ต้องพึ่งพา คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “โครงสร้างโปรเจกต์ Maven” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- โครงสร้างโปรเจกต์ Maven
- ปลั๊กอินและเป้าหมายของ Maven
- พื้นฐาน Gradle
- การเลือกเครื่องมือสร้างโปรเจกต์