มุมมองทั่วไปของไฟล์ pom
โครงสร้างของโปรเจ็กต์อธิบายไว้ในไฟล์ pom.xml ซึ่งต้องอยู่ในโฟลเดอร์รูทของโปรเจ็กต์ เนื้อหาของไฟล์โครงการมีลักษณะดังนี้:
<!— คำอธิบายของโครงการปัจจุบัน -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<packaging>...</packaging>
<version>... </ version>
<properties>
<!-- ส่วน Properties -->
</properties>
<repositories>
<!-- ส่วน Repositories -->
</repositories>
<dependencies>
<!-- ส่วนการพึ่งพา -->
</ การพึ่งพา>
<build>
<!-- ส่วนการสร้าง -->
</build>
</project>
อาจไม่มีทุกส่วนในคำอธิบาย pom.xml ดังนั้นจึงมักไม่ใช้ ส่วน คุณสมบัติและที่เก็บ จำเป็นต้องมีพารามิเตอร์คำอธิบายของ โครงการปัจจุบัน เราจะพูดถึงส่วนสุดท้ายในตอนนี้
ส่วนการสร้าง
ส่วนการสร้างเป็นทางเลือก - Maven สามารถสร้างโครงการได้โดยไม่ต้องมีส่วนนี้ แต่ถ้าคุณต้องการตั้งค่าแอสเซมบลีของโครงการที่ซับซ้อนมากหรือน้อย การทำความเข้าใจว่าทุกอย่างทำงานอย่างไรจะมีประโยชน์
ลองดูตัวอย่างง่ายๆ:
<finalName>ชื่อโครงการ</finalName>
<sourceDirectory>${baseir}/src/java</sourceDirectory>
<outputDirectory>${baseir}/targetDir</outputDirectory>
<resources>
<resource>
<directory>${ basedir}/src/java/resources</directory>
<includes>
<include>**/*.properties
</include> </includes> </resource>
</resources>
<plugins>
. .
</ปลั๊กอิน>
</build>
ส่วนนี้ประกอบด้วยข้อมูลพื้นฐานเกี่ยวกับการสร้าง: ตำแหน่งของไฟล์ Java, ไฟล์ทรัพยากร, ปลั๊กอินที่ใช้, ตำแหน่งที่จะวางโครงการที่สร้างขึ้น
มีสี่แท็กหลัก:
- <ชื่อสุดท้าย>
- <ไดเรกทอรีแหล่งที่มา>
- <ไดเร็กทอรีเอาต์พุต>
- <ทรัพยากร>
เรามาวิเคราะห์วัตถุประสงค์กันโดยสังเขป:
แท็ก<finalName>ระบุชื่อของไฟล์บิลด์ผลลัพธ์ (jar, war, ear..) ที่สร้างขึ้นในเฟสแพ็คเกจ หาก ไม่ได้ระบุพารามิเตอร์ จะใช้ค่าดีฟอลต์artifactId-version
แท็ก<sourceDirectory>ช่วยให้คุณสามารถกำหนดตำแหน่งของไฟล์ต้นฉบับใหม่ได้ ตามค่าเริ่มต้น ไฟล์จะอยู่ใน ไดเร็กทอรี ${baseir}/src/main/javaแต่คุณสามารถระบุตำแหน่งอื่นได้
แท็ก<outputDirectory>ระบุไดเร็กทอรีที่คอมไพลเลอร์จะบันทึกผลการคอมไพล์ - ไฟล์*.class ค่าเริ่มต้นคือtarget/classes
แท็ก<resources>และ แท็ก <resource> ที่ซ้อนกัน กำหนดตำแหน่งของไฟล์ทรัพยากร ไฟล์ทรัพยากรจะถูกคัดลอกไปยัง ไดเร็กทอรี outputDirectory เมื่อสร้างไฟล์ . ค่าดีฟอลต์ของไดเร็กทอรีรีซอร์สคือsrc /main/resources
ส่วนการประกอบสามารถกำหนดค่าได้อย่างยืดหยุ่นเป็นพิเศษ เราจะดูรายละเอียดเพิ่มเติมในภายหลัง