Apache Maven — โดยสังเขป
หากคุณเป็น Java Developer กิจกรรมประจำวันของคุณในขณะที่ทำงานในโครงการของคุณ ได้แก่ — การเขียนโค้ด การคอมไพล์โค้ด การทดสอบโค้ด การบรรจุในรูปแบบของสิ่งประดิษฐ์ เช่น jar หรือไฟล์ war จากนั้นปรับใช้สิ่งนี้ สิ่งประดิษฐ์ไปยังเว็บเซิร์ฟเวอร์
มีงานมากมายที่คุณต้องจัดการด้วยตนเอง และแน่นอน คุณสามารถทำให้งานเหล่านี้เป็นอัตโนมัติได้โดยใช้ไลบรารีที่เรียกว่าApache Maven
ในบทความนี้ เราจะเข้าใจว่า Apache Maven คืออะไร และคุณจะใช้มันอย่างมีประสิทธิภาพเพื่อสร้างและจัดการโปรเจ็กต์ Java ของคุณได้อย่างไร
ขั้นแรก ให้เราเข้าใจพื้นฐานของ maven
Maven คืออะไร?
Maven เป็นเครื่องมือการจัดการโครงการที่พัฒนาขึ้นเพื่อช่วยจัดการโครงการที่พัฒนาโดยใช้ภาษา JVM เช่น Java และ Scala งานหลักของเครื่องมือการจัดการโครงการ ได้แก่
- สร้างซอร์สโค้ด
- การทดสอบซอร์สโค้ด
- บรรจุใส่ขวดโหลหรือหูหิ้ว
- กำลังสร้างเอกสารจาวา
- จัดการการพึ่งพา
ตอนนี้เรามาดำเนินการต่อไปและดูวิธีการติดตั้ง Maven บนเครื่องของเรา
- เปิดhttps://maven.apache.org/ในเบราว์เซอร์ของคุณ
- ไปที่ส่วนดาวน์โหลดและดาวน์โหลดโฟลเดอร์ zip เวอร์ชัน maven ล่าสุดแล้วแตกไฟล์
- ตั้งค่าตัวแปรพาธสภาพแวดล้อม เพิ่มJAVA_HOMEและMAVEN_HOME
- เพิ่มเส้นทาง maven ในตัวแปรสภาพแวดล้อม เช่นF:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin
พื้นที่เก็บข้อมูล Maven:
Maven Repository เป็นไดเร็กทอรีของไฟล์ jar ที่บรรจุด้วย pom.xml Maven ค้นหาการอ้างอิงในที่เก็บ ที่เก็บ maven มีสามประเภท
- พื้นที่เก็บข้อมูลในเครื่อง
- พื้นที่เก็บข้อมูลกลาง
- พื้นที่เก็บข้อมูลระยะไกล
นอกจากนี้ เราสามารถเปลี่ยนตำแหน่งของที่เก็บในเครื่องในไฟล์ settings.xml ซึ่งอยู่ใน MAVEN_HOME/conf/settings.xml ตัวอย่าง: E:\apache-maven-3.1.1\conf\settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
</settings>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>e:/mavenlocalrepository</localRepository>
</settings>
ที่เก็บส่วนกลางประกอบด้วยไลบรารีทั่วไปจำนวนมากที่สามารถดูได้จาก URL นี้http://search.maven.org/#browse.
Maven Remote Repository: Maven Remote Repository ตั้งอยู่บนเว็บ ไลบรารีบางส่วนอาจหายไปจากที่เก็บส่วนกลาง เช่น ไลบรารี JBoss เป็นต้น ดังนั้น เราจำเป็นต้องกำหนดรีโมตที่เก็บในไฟล์ pom.xml
โครงสร้างโครงการ Maven:
ตอนนี้ให้เราเข้าใจโครงสร้างโครงการ Maven เมื่อคุณสร้างโปรเจ็กต์ maven คุณจะเห็นโฟลเดอร์ชื่อ
- src — source — ซึ่งเป็นรูทของซอร์สโค้ดแอปพลิเคชันของเราและการทดสอบหน่วยแอปพลิเคชัน
- src/main/java — ซึ่งมีซอร์สโค้ดของแอปพลิเคชันของเรา รหัสการผลิตทั้งหมดที่เราเขียนไปยังแอปพลิเคชันของเราจะอยู่ในโฟลเดอร์นี้
- src/main/resources — ที่ที่เราเก็บไฟล์สแตติกทั้งหมด เราใช้ในโครงการของเรา ตัวอย่างapplication.propertiesไฟล์ XML ไฟล์ CSV เป็นต้น
- หากคุณกำลังพัฒนาเว็บแอปพลิเคชัน ไฟล์ html และ javascript ทั้งหมดจะอยู่ภายใต้โฟลเดอร์นี้
- src/test/java — ที่นี่ ที่เราเขียนการทดสอบหน่วย และการทดสอบการรวมระบบสำหรับแอปพลิเคชันของเรา
- pom.xml — มันมีข้อมูลเมตาของการพึ่งพาโครงการ
- เป้าหมาย — ในโฟลเดอร์นี้ maven เก็บไฟล์คลาสจาวาที่คอมไพล์แล้วทั้งหมด
POM มีข้อมูลเมตาของโครงการและยังรับผิดชอบในการจัดการการอ้างอิงเพื่อกำหนดค่าปลั๊กอินซึ่งช่วยเราในการทำงานซ้ำ ๆ โดยอัตโนมัติ นี่คือ pom.xml พื้นฐาน
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.maven.application</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
</project>
- เวอร์ชันของโมเดล — เวอร์ชันของโมเดลจะถูกตั้งค่าเป็น 4.0.0 เสมอ เว้นแต่คุณจะเปลี่ยนเป็นเวอร์ชัน maven อื่น ตัวอย่างเช่น เวอร์ชันที่สูงกว่า 3.0
- ไฟล์ปอมอย่างง่าย
- ไฟล์ซุปเปอร์ปอม
- ไฟล์ pom ที่มีประสิทธิภาพ
ไฟล์ Super pom: คุณสามารถค้นหาไฟล์ super pom ได้ในไดเร็กทอรีการติดตั้ง maven ใต้พาธ lib และภายในไฟล์ jar — maven-model-builder เราจะพบแพ็คเกจชื่อ org
ไฟล์ pom ที่มีประสิทธิภาพ:ไฟล์ pom ที่มีประสิทธิภาพนั้นไม่ใช่อะไรนอกจากการรวมกันของไฟล์ pom ธรรมดาและไฟล์ super pom เป็นเพียงวิธีการตรวจสอบข้อมูลทั้งหมดของไฟล์ pom.xml ในที่เดียว หากต้องการดูไฟล์ pom ที่มีประสิทธิภาพ ให้ไปที่ประเภทเทอร์มินัล maven
mvn-help: effective-pom
Maven มีการพึ่งพาสองประเภท
- การพึ่งพาสแน็ปช็อต: การพึ่งพาสแน็ปช็อตหมายถึงโครงการที่อยู่ระหว่างการพัฒนาที่ใช้งานอยู่และไม่เสถียร
- การพึ่งพาการเผยแพร่: เมื่อโครงการเสร็จสมบูรณ์แล้วจะมีการเผยแพร่
เราสามารถควบคุมการมองเห็นของการพึ่งพา maven โดยใช้ขอบเขตการพึ่งพา ขอบเขตมี 5 ประเภท
- คอมไพล์: นี่คือขอบเขตเริ่มต้นสำหรับการขึ้นต่อกันทั้งหมด และการขึ้นต่อกันที่ทำเครื่องหมายด้วยการคอมไพล์มีอยู่ใน classpath ของโครงการ
- จัดเตรียม: การพึ่งพาซึ่งกำหนดขอบเขตจะถูกจัดเตรียม ณ รันไทม์โดย jdk หรือเว็บเซิร์ฟเวอร์
- รันไทม์: ตามชื่อที่บ่งบอกว่าการขึ้นต่อกันที่ทำเครื่องหมายด้วยรันไทม์จะใช้งานได้เฉพาะที่รันไทม์เท่านั้น แต่จะไม่มีในเวลาคอมไพล์
- ทดสอบ: การพึ่งพาเหล่านี้มีให้เฉพาะในขณะที่เขียนและดำเนินการทดสอบเท่านั้น
- ขอบเขตของระบบ: สิ่งนี้คล้ายกับขอบเขตที่ให้มา แต่ข้อแตกต่างเพียงอย่างเดียวคือเราได้กล่าวถึงตำแหน่งที่เราสามารถค้นหาการพึ่งพาในระบบได้อย่างชัดเจน แทนที่จะใช้ JDK หรือเว็บเซิร์ฟเวอร์ที่ให้การพึ่งพานี้ขณะรันไทม์ เราจัดเตรียมพาธของระบบที่ maven สามารถค้นหาการพึ่งพานี้ได้ เราสามารถระบุเส้นทางโดยใช้เส้นทางของระบบ
วงจรชีวิตการสร้าง Maven แบ่งออกเป็น 3 ขั้นตอน:
- ค่าเริ่มต้น — เป็นส่วนหนึ่งของขั้นตอนนี้ maven ทำงานหลายอย่าง
- maven อ่าน pom.xml และตรวจสอบว่าเรามี xml ที่ถูกต้องหรือไม่
- จากนั้น maven จะรวบรวมซอร์สโค้ดของเราและสร้างไฟล์คลาสและจัดเก็บไว้ในโฟลเดอร์เป้าหมาย
- จากนั้นในขั้นตอนการทดสอบซึ่งเป็นส่วนหนึ่งของการทดสอบ maven รันการทดสอบหน่วยภายในโครงการ
- แพ็คเกจ — เป็นส่วนหนึ่งของแพ็คเกจ maven ทำการแพ็คเกจซอร์สโค้ดเป็นสิ่งประดิษฐ์ที่เราเลือก เช่น ไฟล์ jar หรือ war หรือ ear หรือ zip
- การทดสอบการรวม — หากโครงการของเรามีการทดสอบการรวมและดำเนินการ
- ตรวจสอบ — maven ตรวจสอบการทดสอบการรวมซึ่งรันในเฟสก่อนหน้านี้ว่าสำเร็จหรือไม่
- ติดตั้ง — maven จะติดตั้งแพ็คเกจที่สร้างขึ้นในที่เก็บในเครื่อง
- ปรับใช้ — หลังจากการติดตั้ง maven จะปรับใช้ในพื้นที่เก็บข้อมูลระยะไกล
2. ทำความสะอาด:ขั้นตอนนี้มีหน้าที่หลักในการล้างคลาสจาวาที่คอมไพล์แล้วหรือข้อมูลเมตาที่สร้างขึ้น ตัวอย่าง: mvn การติดตั้งใหม่ทั้งหมด
3. ไซต์:รับผิดชอบในการสร้างเอกสารจาวาที่มีอยู่ในโครงการของเรา
Maven ทำให้กระบวนการสร้างง่ายขึ้นด้วยวิธีขั้นสูง ฉันหวังว่าคุณจะได้เรียนรู้และมีประเด็นเพื่อทำความเข้าใจเกี่ยวกับ Apache Maven
ขอบคุณที่อ่านบทความ โปรดตบมือ แชร์ และแสดงความคิดเห็น มันจะกระตุ้นให้ฉันเขียนบทความดังกล่าวมากขึ้น แบ่งปันคำแนะนำอันมีค่าของคุณ ฉันขอขอบคุณสำหรับความคิดเห็นที่ซื่อสัตย์ของคุณ!!!
คำถามสัมภาษณ์ตามสตรีม Java8 ที่พบบ่อยที่สุด — ตอนที่ 1 วิธีที่ง่ายที่สุดในการเข้าถึงฐานข้อมูลใน JAVA จับข้อยกเว้นหลายข้อใน การเขียนโค้ด Java: ค้นหาหมายเลข Fibonacci ที่ n ใน JavaScript Real Sites ที่จ่าย $50 ถึง $100 ต่อชั่วโมงสำหรับการพิสูจน์อักษรเธรดหนังสือ และการประมวลผลหลายส่วนใน Python อธิบาย




































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)