Site icon PlusMagi's Blog By Pitt Phunsanit

Java: Apache Maven

Apache Maven คือเครื่องมือจัดการโปรเจกต์ ( Project Management Tool ) ที่ได้รับความนิยมสูงสุดในโลกของ Java โดยใช้แนวคิด POM ( Project Object Model ) เพื่อช่วยในการสร้าง ( Build ), จัดการไลบรารี ( Dependency ), และวางมาตรฐานโครงสร้างโปรเจกต์ให้เป็นระบบเดียวกัน


ทำความรู้จักกับไฟล์ pom.xml

หัวใจสำคัญของ Maven คือไฟล์ pom.xml ซึ่งเป็นไฟล์ที่ใช้เก็บรายละเอียดของโปรเจกต์ทั้งหมด เช่น


โครงสร้างโฟลเดอร์มาตรฐาน ( Standard Directory Layout )

Maven บังคับใช้โครงสร้างโฟลเดอร์ที่เป็นมาตรฐานเดียวกันทั่วโลก เพื่อให้ Developer คนอื่นสามารถเข้าใจโปรเจกต์ได้ทันที


คำสั่งพื้นฐานที่ต้องรู้ ( Maven Lifecycle )

การสั่งงาน Maven มักจะทำผ่าน Command Line โดยมีวงจรชีวิต ( Lifecycle ) ที่สำคัญดังนี้

คำสั่งหน้าที่
mvn cleanลบโฟลเดอร์ target เพื่อล้างไฟล์เก่าทิ้ง
mvn compileCompile Code จากไฟล์ .java เป็น .class
mvn testรัน Unit Test ทั้งหมดในโปรเจกต์
mvn packageรวบรวมไฟล์ทั้งหมดออกมาเป็นไฟล์ที่พร้อมใช้งาน (เช่น .jar หรือ .war)
mvn installนำไฟล์ที่ Build เสร็จไปเก็บไว้ใน Local Repository ของเครื่องเราเอง

การจัดการ Dependency

ข้อดีที่สุดของ Maven คือเราไม่ต้องไปไล่ดาวน์โหลดไฟล์ .jar มาวางในโปรเจกต์เอง เพียงแค่ระบุ code ใน pom.xml ดังนี้

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>6.1.0</version>
    </dependency>
</dependencies>

Maven จะไปดาวน์โหลดไลบรารีจาก Maven Central Repository มาให้โดยอัตโนมัติ พร้อมกับจัดการไลบรารีอื่น ๆ ที่เกี่ยวข้อง ( Transitive Dependencies ) ให้ด้วย


ทำไมต้องใช้ Maven ?


สรุป

Maven ไม่ใช่แค่เครื่องมือดาวน์โหลดไลบรารี แต่เป็นเฟรมเวิร์กในการคุมมาตรฐานการพัฒนาซอฟต์แวร์ ช่วยให้ Developer โฟกัสไปที่การเขียน Code มากกว่าการมานั่งแก้ปัญหาเรื่องการตั้งค่าสภาพแวดล้อม ( Environment )


อ่านเพิ่มเติม

Exit mobile version