0Pricing
Java Academy · บทเรียน

โครงสร้างโปรเจกต์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. โครงสร้างโปรเจกต์ Maven
  2. ปลั๊กอินและเป้าหมายของ Maven
  3. พื้นฐาน Gradle
  4. การเลือกเครื่องมือสร้างโปรเจกต์
← กลับไปที่ Java Academy