CodeGym /จาวาบล็อก /สุ่ม /ตอนที่ 4 พื้นฐานของ Maven
John Squirrels
ระดับ
San Francisco

ตอนที่ 4 พื้นฐานของ Maven

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

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

  1. ก่อนอื่นเราต้องติดตั้ง Maven ดาวน์โหลดได้จากลิงค์นี้ .

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

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

    mvn - เวอร์ชัน

  4. หากข้อมูลเวอร์ชันสำหรับ Maven, Java และอื่น ๆ ปรากฏขึ้น แสดงว่าทุกอย่างพร้อมดำเนินการแล้ว

  5. ตอนนี้เปิด IntelliJ IDEA และสร้างโครงการใหม่ ในหน้าต่างแรก เลือก 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 ที่คุณไม่ต้องเสียเวลามากมายในการค้นหาไลบรารีที่จำเป็น ดาวน์โหลดและเชื่อมต่อกับโปรเจ็กต์ของคุณบนอินเทอร์เน็ต แต่คุณเพียงแค่เพิ่มไลบรารีที่จำเป็นลงในรายการการอ้างอิงใน Maven

มีการระบุการพึ่งพาในโหนดการพึ่งพาของไฟล์ pom.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" และ "version" มีสองวิธีในการกำหนดพารามิเตอร์เหล่านี้:
  1. บนเว็บไซต์ของสำนักหอสมุด หากเราต้องการไลบรารี Apache Commons IO ให้ไปที่เว็บไซต์อย่างเป็นทางการแล้วเลือกแท็บ "ข้อมูลการพึ่งพา" ข้อมูลที่จำเป็นทั้งหมดอยู่ที่นี่ — คุณสามารถคัดลอกและเพิ่มไปยัง<dependencies>โหนดได้

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

    แพ็คเกจ mvn

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

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

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

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

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

ปลั๊กอิน

หากต้องการเพิ่มปลั๊กอิน Maven ให้กับโปรเจ็กต์ เราจำเป็นต้องเพิ่มคำอธิบายลงในไฟล์ pom.xml โดยใช้<build>และ<plugins>แท็ก คล้ายกับที่เราเพิ่มการอ้างอิง ตัวอย่างเช่น สมมติว่าเราต้องการปลั๊กอินเพื่อตรวจสอบว่าเรากำลังใช้เวอร์ชันล่าสุดของไลบรารีภายนอกทั้งหมดของเรา หลังจากค้นหาในอินเทอร์เน็ตเล็กน้อย คุณจะพบปลั๊กอินนี้และคำแนะนำเกี่ยวกับวิธีใช้งาน มาตั้งค่า groupId, artifactId และ version กัน เราจะระบุว่าปลั๊กอินต้องบรรลุเป้าหมายใดและในระยะใด ในกรณีของเรา การตรวจสอบการพึ่งพาใน pom.xml ปัจจุบันถูกตั้งค่าให้เกิดขึ้นระหว่างขั้นตอนการตรวจสอบความถูกต้อง ตอนนี้ไฟล์ 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 Servlets และ Java Servlet API การเขียน Web Application อย่างง่าย ตอนที่ 6. Servlet container ตอนที่ 7. แนะนำรูปแบบ MVC (Model-View-Controller)
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION