JavaRush /จาวาบล็อก /Random-TH /ส่วนที่ 4: ข้อมูลพื้นฐานเกี่ยวกับ Maven
Professor Hans Noodles
ระดับ

ส่วนที่ 4: ข้อมูลพื้นฐานเกี่ยวกับ Maven

เผยแพร่ในกลุ่ม
เนื้อหานี้เป็นส่วนหนึ่งของชุด "ข้อมูลเบื้องต้นเกี่ยวกับการพัฒนาองค์กร" บทความก่อนหน้านี้: ส่วนที่ 4 พื้นฐาน Maven - 1Mavenเป็นเครื่องมือสำหรับจัดการและสร้างโครงการ - ผู้ช่วยที่แท้จริงของโปรแกรมเมอร์ Java ช่วยให้ชีวิตของนักพัฒนาง่ายขึ้นในทุกขั้นตอนของการทำงาน ตั้งแต่การสร้างโครงสร้างโปรเจ็กต์และการเชื่อมต่อไลบรารีที่จำเป็นไปจนถึงการปรับใช้ผลิตภัณฑ์บนเซิร์ฟเวอร์ เมื่อทำงานกับ Framework ใด ๆ คุณจะต้องใช้ Maven เรามาดูฟังก์ชั่นหลักๆ ของมันในวันนี้กันดีกว่าว่าควรจะใช้งานอย่างไร

การติดตั้ง Maven ทีละขั้นตอน

  1. ก่อนอื่นคุณต้องติดตั้ง Maven โดยดาวน์โหลดจากลิงค์นี้

  2. ถัดไป คุณจะต้องแตกไฟล์เก็บถาวรที่ดาวน์โหลดมา และตั้งค่าตัวแปรสภาพแวดล้อม M2_HOME เป็นลิงก์ไปยังตำแหน่งของไฟล์เก็บถาวรที่แตกไฟล์ ตัวอย่างเช่น C:\Program Files\maven\

  3. หากต้องการตรวจสอบว่าติดตั้งทุกอย่างแล้ว ให้เขียนบรรทัดคำสั่ง:

    mvn-เวอร์ชัน

  4. หากข้อมูลเวอร์ชันสำหรับ Maven, Java ฯลฯ ปรากฏขึ้น แสดงว่าคุณพร้อมที่จะใช้งานแล้ว

  5. ตอนนี้เปิด IntelliJIDEA และสร้างโครงการใหม่ ในหน้าต่างแรก ให้เลือก Maven:

    ส่วนที่ 4 พื้นฐาน Maven - 2
  6. คลิกถัดไปและกรอกกล่องโต้ตอบต่อไปนี้:

    ส่วนที่ 4 พื้นฐาน Maven - 3
  7. จากนั้น สร้างโปรเจ็กต์ในตำแหน่งที่ต้องการตามมาตรฐาน

    หลังจากสร้างโครงการแล้ว ให้ใส่ใจกับโครงสร้างของโครงการ:

    ส่วนที่ 4 พื้นฐาน Maven - 4
นี่คือโครงสร้างมาตรฐานสำหรับโครงการ Maven :
  • โฟลเดอร์src/main/javaมีคลาส Java;
  • ในsrc/main/resources - ทรัพยากรที่แอปพลิเคชันของเราใช้ (หน้า HTML รูปภาพ สไตล์ชีท ฯลฯ)
  • src/test - สำหรับการทดสอบ
ให้ความสนใจกับไฟล์ที่เรียกว่าpom.xmlด้วย นี่เป็นไฟล์หลักสำหรับจัดการ Maven คำอธิบายโครงการทั้งหมดมีอยู่ที่นี่ ยังไม่มีข้อมูลมากเกินไป แต่เราจะเพิ่มตอนนี้

การจัดการการพึ่งพาใน Maven

คุณอาจเจอวลี “ผู้จัดการการพึ่งพา” หรือ “ผู้จัดการการพึ่งพา” มาวินทำได้ทุกอย่าง ต้องขอบคุณ Maven คุณไม่จำเป็นต้องใช้เวลามากมายในการค้นหาไลบรารีที่ต้องการบนอินเทอร์เน็ต ดาวน์โหลดมัน จากนั้นเชื่อมต่อกับโปรเจ็กต์ เพียงเพิ่มไลบรารีที่จำเป็นลงในรายการการขึ้นต่อกันของ Maven การขึ้นต่อกันจะถูกเขียนไว้ในโหนด XML การขึ้นต่อกัน สมมติว่าคุณต้องการไลบรารี Apache Commons IO ในโปรเจ็กต์ของคุณเพื่อให้ทำงานกับไฟล์ได้ง่ายขึ้น หากต้องการเพิ่มไลบรารี ให้เขียนห้าบรรทัดใน pom.xml:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
pom.xml ของคุณควรมีลักษณะดังนี้:
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
หลังจากนี้ อนุญาตให้ IntelliJ IDEA นำเข้าการอ้างอิง (กล่องโต้ตอบควรปรากฏขึ้นที่มุมขวาล่าง) ตอนนี้ห้องสมุดก็พร้อมใช้งานแล้ว:
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
การขึ้นต่อกันที่ตามมาทั้งหมดควรเขียนไว้ในแท็ก <dependencies> คุณอาจสงสัยว่า: คุณจะรู้ได้อย่างไรว่าคุณต้องรวมข้อมูลใดบ้างเกี่ยวกับไลบรารี่ภายในแท็ก <dependency>? ทุกอย่างเรียบง่ายที่นี่ ในกรณีดังกล่าว จะมีการระบุพารามิเตอร์สามตัวเสมอ: groupId, artifactId และเวอร์ชัน คุณสามารถค้นหาพารามิเตอร์เหล่านี้ได้สองวิธี:
  1. บนเว็บไซต์ห้องสมุด. หากเราต้องการ Apache Commons IO ให้ไปที่เว็บไซต์อย่างเป็นทางการแล้วเลือกแท็บข้อมูลการพึ่งพา ข้อมูลที่จำเป็นทั้งหมดอยู่ ที่นี่ - คุณสามารถคัดลอกและเพิ่มลงในส่วนการอ้างอิงของเราได้

  2. ในพื้นที่เก็บข้อมูล Maven ป้อน "apache commons io" ในการค้นหาแล้วคุณจะเห็นไลบรารีเวอร์ชันที่มีอยู่ทั้งหมด หลังจากเลือกสิ่งที่คุณต้องการแล้ว เพียงคัดลอก:

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    และเพิ่มลงใน pom.xml ของคุณ

ประเภทของที่เก็บ Maven

คุ้มค่าที่จะกล่าวถึงพื้นที่เก็บข้อมูล Maven อีกครั้ง เพราะจริงๆ แล้วเรามีสองแห่ง - ภายนอก (ทั่วโลก) และในพื้นที่บนคอมพิวเตอร์ของคุณ ไลบรารีทั้งหมดที่คุณเพิ่มในโครงการของคุณจะถูกบันทึกไว้ในพื้นที่เก็บข้อมูลในเครื่อง เมื่อ Maven เพิ่มการพึ่งพาที่จำเป็นให้กับโปรเจ็กต์ ก่อนอื่นจะตรวจสอบพื้นที่เก็บข้อมูลในตัวเครื่องว่ามีไลบรารีดังกล่าวอยู่หรือไม่ และหากไม่พบไลบรารีนั้นที่นั่น จึงจะเปลี่ยนไปใช้ไลบรารีภายนอก อย่างที่คุณเห็น คุณสามารถใช้ Maven เพื่อเพิ่มการขึ้นต่อกัน แต่นั่นไม่ใช่ทั้งหมดที่สามารถทำได้

การสร้างโปรเจ็กต์ Java โดยใช้ Maven

คุณลักษณะนี้อาจดูไม่มีจุดหมายสำหรับมือใหม่ เหตุใดจึงจำเป็นหากมี IDE แต่ไม่มี! ประการแรก เซิร์ฟเวอร์ที่คุณจะต้องสร้างแอปพลิเคชันอาจไม่เพียงแต่ไม่มีสภาพแวดล้อมการพัฒนาเท่านั้น แต่ยังรวมถึงอินเทอร์เฟซแบบกราฟิกด้วย ประการที่สอง ในโครงการขนาดใหญ่ Maven สามารถรับมือกับงานประกอบโครงการได้ดีขึ้น ดังนั้นอย่าทรมานตัวเองด้วยการรอคอย แต่ให้พิจารณากระบวนการสร้างแอปพลิเคชันโดยใช้ Maven

เฟส

กระบวนการสร้างแอปพลิเคชันเรียกว่าวงจรชีวิตของโปรเจ็กต์ Maven และประกอบด้วยเฟสต่างๆ คุณสามารถดูได้ใน IDEA โดยคลิกที่ Maven>ตัวอย่าง>วงจรชีวิตที่มุมขวาบน: ส่วนที่ 4 พื้นฐาน Maven - 5อย่างที่คุณเห็น มี 9 ระยะ:
  1. clean - ลบไฟล์ที่คอมไพล์ทั้งหมดออกจากไดเร็กทอรีเป้าหมาย (สถานที่ซึ่งบันทึกสิ่งประดิษฐ์ที่เสร็จแล้ว)
  2. ตรวจสอบ - ตรวจสอบว่ามีข้อมูลทั้งหมดสำหรับการสร้างโครงการหรือไม่
  3. คอมไพล์ - ไฟล์ที่มีซอร์สโค้ดถูกคอมไพล์
  4. การทดสอบ — การทดสอบเริ่มต้นขึ้น
  5. แพ็คเกจ - ไฟล์ที่คอมไพล์จะถูกบรรจุ (เป็นไฟล์ jar, war, ฯลฯ );
  6. ตรวจสอบ — มีการตรวจสอบเพื่อยืนยันความพร้อมของไฟล์ที่บรรจุ
  7. ติดตั้ง - แพ็คเกจถูกวางไว้ในพื้นที่เก็บข้อมูลในเครื่อง ตอนนี้โปรเจ็กต์อื่นสามารถใช้เป็นไลบรารีภายนอกได้แล้ว
  8. ไซต์ - สร้างเอกสารโครงการ
  9. ปรับใช้ - ไฟล์เก็บถาวรที่รวบรวมไว้จะถูกคัดลอกไปยังพื้นที่เก็บข้อมูลระยะไกล
เฟสทั้งหมดจะดำเนินการตามลำดับ: คุณไม่สามารถเริ่มเฟสที่สี่ได้จนกว่าเฟส 1-3 จะเสร็จสมบูรณ์ มีสองวิธีในการเปิดเฟส:
  • ผ่านทางบรรทัดคำสั่ง:

    แพ็คเกจเอ็มวีเอ็น

    ส่วนที่ 4 พื้นฐาน Maven - 6
  • ใช้ Intellij IDEA:

    ส่วนที่ 4 พื้นฐาน Maven - 7

    ก่อนเปิดตัวแพ็คเกจ จะมีการดำเนินการตรวจสอบ คอมไพล์ และทดสอบ ข้อยกเว้นคือขั้นตอนการทำความสะอาด ขอแนะนำให้โทรก่อนสร้างโครงการใหม่แต่ละโครงการ ขั้นตอนสามารถแสดงรายการโดยคั่นด้วยช่องว่าง:

    mvn แพ็คเกจที่สะอาด

นอกจากนี้แต่ละเฟสยังมีเฟสก่อนและหลัง: ตัวอย่างเช่น ก่อนปรับใช้ หลังปรับใช้ ก่อนล้าง หลังล้าง แต่จะไม่ค่อยมีการใช้เลย นอกจากนี้แต่ละระยะยังมีเป้าหมาย เป้าหมายมาตรฐานจะรวมไว้ตามค่าเริ่มต้น ส่วนเป้าหมายเพิ่มเติมจะถูกเพิ่มโดยปลั๊กอิน Maven บางครั้งในบางช่วงคุณจำเป็นต้องใช้งานฟังก์ชันเพิ่มเติม มีปลั๊กอิน Maven สำหรับสิ่งนี้ รายชื่อปลั๊กอินอย่างเป็นทางการสามารถพบได้บนเว็บไซต์ Maven แต่โปรดทราบว่ายังมีปลั๊กอินแบบกำหนดเองมากมายที่สามารถพบได้ในแหล่งข้อมูลของบุคคลที่สาม แน่นอนว่าหากมีความต้องการแปลกใหม่ คุณมักจะมีโอกาสเขียนปลั๊กอินดังกล่าวด้วยตัวเองเสมอ

ปลั๊กอิน

หากต้องการเพิ่มปลั๊กอิน Maven ให้กับโปรเจ็กต์ ต้องวางคำอธิบายคล้ายกับการพึ่งพาใน pom.xml ในแท็ก <build> และ <plugins> ตัวอย่างเช่น เราจำเป็นต้องมีปลั๊กอินเพื่อตรวจสอบว่าไลบรารีภายนอกทั้งหมดของเราใช้เวอร์ชันล่าสุด หลังจากค้นหาบนอินเทอร์เน็ตเล็กน้อยคุณจะพบปลั๊กอินนี้พร้อมคำแนะนำในการใช้งาน มาตั้งค่า groupId, artifactId และ version กัน มาเขียนเป้าหมายที่เขาต้องทำให้สำเร็จและในระยะใด ในกรณีของเรา การตรวจสอบการพึ่งพาใน pom.xml ปัจจุบันถูกตั้งค่าเป็นขั้นตอนการตรวจสอบ ตอนนี้ "ความทรงจำ" ของเรามีลักษณะดังนี้:
<?xml version="1.0" encoding="UTF-8"?>
<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>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
เรายังคงสามารถทำงานในโครงการของเราต่อไปได้ แต่มาลองเปลี่ยนเวอร์ชัน Apache Commons IO เป็น 2.0 และเริ่มสร้างโปรเจ็กต์กันดีกว่า เราได้รับ: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1] ที่นี่เรามีข้อผิดพลาดในการสร้างที่เกิดจากปลั๊กอิน ข้อความแสดงข้อผิดพลาดระบุว่าเรากำลังใช้เวอร์ชัน 2.0 เมื่อ 2.6 พร้อมใช้งาน โดยทั่วไป Maven เป็นเครื่องมือที่มีประโยชน์มาก อาจดูเหมือนใช้งานยากในตอนแรก แต่ฝึกฝน สร้างโปรเจ็กต์ของคุณภายใต้ Maven แล้วหลังจากนั้นไม่นาน คุณจะพอใจกับผลลัพธ์ที่ได้ บทความนี้จงใจละเว้นรายละเอียดมากมายเกี่ยวกับ Maven - เรามุ่งเน้นไปที่ข้อมูลสำคัญ แต่ความสมบูรณ์แบบไม่มีขีดจำกัด: คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ Maven ได้ จากเว็บไซต์อย่างเป็นทางการของผลิตภัณฑ์ ส่วนที่ 5 เซิร์ฟเล็ต การเขียนแอปพลิเคชันเว็บอย่างง่าย ตอนที่ 6 คอนเทนเนอร์ Servlet ตอนที่ 7 แนะนำรูปแบบ MVC (Model-View-Controller) ตอนที่ 8 การเขียนแอปพลิเคชัน spring-boot ขนาดเล็ก
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION