Apache Maven คือเครื่องมือจัดการโปรเจกต์ ที่ได้รับความนิยมสูงสุดในโลกของ Java โดยใช้แนวคิด POM เพื่อช่วยในการสร้าง , จัดการไลบรารี , และวางมาตรฐานโครงสร้างโปรเจกต์ให้เป็นระบบเดียวกัน
ทำความรู้จักกับไฟล์ pom.xml
หัวใจสำคัญของ Maven คือไฟล์ pom.xml ซึ่งเป็นไฟล์ที่ใช้เก็บรายละเอียดของโปรเจกต์ทั้งหมด เช่น
- Coordinates: ระบุตัวตนของโปรเจกต์ด้วย
groupId,artifactId, และversion - Dependencies: รายชื่อไลบรารีภายนอกที่ต้องใช้
- Plugins: เครื่องมือเสริมสำหรับขั้นตอนการ Build เช่น การสร้างไฟล์ .jar หรือการทำ Unit Test
โครงสร้างโฟลเดอร์มาตรฐาน
Maven บังคับใช้โครงสร้างโฟลเดอร์ที่เป็นมาตรฐานเดียวกันทั่วโลก เพื่อให้ Developer คนอื่นสามารถเข้าใจโปรเจกต์ได้ทันที
src/main/java: เก็บ Source Code หลักของภาษา Javasrc/main/resources: เก็บไฟล์ตั้งค่าต่าง ๆsrc/test/java: เก็บไฟล์สำหรับการทำ Unit Testtarget: โฟลเดอร์ที่ระบบสร้างขึ้นเพื่อเก็บไฟล์ที่ Build เสร็จแล้ว
คำสั่งพื้นฐานที่ต้องรู้
การสั่งงาน Maven มักจะทำผ่าน Command Line โดยมีวงจรชีวิต ที่สำคัญดังนี้
| คำสั่ง | หน้าที่ |
mvn clean | ลบโฟลเดอร์ target เพื่อล้างไฟล์เก่าทิ้ง |
mvn compile | Compile Code จากไฟล์ .java เป็น .class |
mvn test | รัน Unit Test ทั้งหมดในโปรเจกต์ |
mvn package | รวบรวมไฟล์ทั้งหมดออกมาเป็นไฟล์ที่พร้อมใช้งาน (เช่น .jar หรือ .war) |
mvn install | นำไฟล์ที่ Build เสร็จไปเก็บไว้ใน Local Repository ของเครื่องเราเอง |
การจัดการ Dependency
ข้อดีที่สุดของ Maven คือเราไม่ต้องไปไล่ดาวน์โหลดไฟล์ .jar มาวางในโปรเจกต์เอง เพียงแค่ระบุ code ใน pom.xml ดังนี้
Plain Text
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>6.1.0</version> </dependency>
</dependencies>