ปลั๊กอิน Maven

ระดับ, บทเรียน
มีอยู่

6.1 บทนำเกี่ยวกับปลั๊กอิน

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

ปลั๊กอินใน Maven ไม่ใช่สิ่งพิเศษ ตรงกันข้าม เป็นสิ่งที่พบได้บ่อยและบ่อยที่สุด ท้ายที่สุด ถ้าคุณต้องการกำหนดความแตกต่างในการสร้างโครงการของคุณ คุณต้องระบุข้อมูลที่จำเป็นใน pom.xml และวิธีเดียวที่จะทำได้คือเขียน "ปลั๊กอิน"

เนื่องจากปลั๊กอินเป็นเพียงสิ่งประดิษฐ์พอๆ กับการอ้างอิง จึงมีการอธิบายในลักษณะเดียวกัน แทนที่จะเป็นส่วนการพึ่งพา - ปลั๊กอิน แทนการพึ่งพา - ปลั๊กอิน แทนที่เก็บ - pluginRepositories ที่เก็บ - pluginRepository

ตัวอย่าง:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.6</version>
    </plugin>
</plugins>

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

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

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

6.2 วงจรชีวิตและปลั๊กอิน

บ่อยครั้งที่มีการใช้ปลั๊กอินเพื่อเรียกใช้ยูทิลิตี้คอนโซลบางประเภทในระหว่างการดำเนินการในระยะหนึ่ง นอกจากนี้ เรายังสามารถเรียกใช้คลาส Java ปกติได้ (ซึ่งแน่นอนว่ามีเมธอดหลักอยู่ด้วย)

ตัวอย่าง:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.2.1</version>
  <executions>
    <execution>
      <goals>
        <goal>java</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <mainClass>com.example.Main</mainClass>
    <arguments>
      <argument>first-argument</argument>
      <argument>second-argument</argument>
    </arguments>
  </configuration>
</plugin>

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

ข้อมูลสำคัญเพิ่มเติม Maven เรียกปลั๊กอินที่แตกต่างกันในแต่ละช่วงของวงจรชีวิต ตัวอย่างเช่น โปรเจ็กต์ที่อธิบายถึงแอ็พพลิเคชัน Java บนเดสก์ท็อปแบบ Swing มีช่วงวงจรชีวิตที่แตกต่างจากขั้นตอนปกติสำหรับการพัฒนาเว็บแอ็พพลิเคชัน (สงคราม)

หรือ ตัวอย่างเช่น เมื่อดำเนินการคำสั่ง "mvn test" ขั้นตอนทั้งหมดในวงจรชีวิตของโครงการจะเริ่มต้นขึ้น: "ทรัพยากรกระบวนการ", "คอมไพล์", "คลาสกระบวนการ", "การทดสอบกระบวนการ -resources”, “test-compile” , ทดสอบ คุณสามารถดูการกล่าวถึงขั้นตอนเหล่านี้ได้ในข้อความที่แสดงโดย Maven:

[INFO] Scanning for projects...
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources)     @ codegym ---
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile)      @ codegym
[INFO] --- maven-resources-plugin:2.6:testResources         (default-testResources) @ codegym ---
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile)          @ codegym ---
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test)         @ codegym ---
[INFO] Surefire report directory:           t:\ projects\codegym\target\surefire-reports

6.3 เป้าหมายใน Maven - เป้าหมาย

ใน Maven มีสิ่งเช่นเป้าหมาย (เป้าหมาย) เป้าหมายเป็นเหมือนเป้าหมายเริ่มต้นของ Maven เป้าหมายหลักสอดคล้องกับขั้นตอนหลัก:

  • ตรวจสอบความถูกต้อง;
  • รวบรวม;
  • ทดสอบ;
  • บรรจุุภัณฑ์;
  • ตรวจสอบ;
  • ติดตั้ง;
  • ปรับใช้.

ในแต่ละช่วงของวงจรชีวิตโครงการ จะมีการเรียกใช้ปลั๊กอินเฉพาะ (jar-library) ซึ่งมีเป้าหมาย (goal) จำนวนหนึ่ง

ตัวอย่างเช่น ปลั๊กอิน "maven-compiler-plugin" มีสองเป้าหมาย: compiler:compile สำหรับการคอมไพล์ซอร์สโค้ดหลักของโปรเจ็กต์ และ compiler:testCompile สำหรับการทดสอบการคอมไพล์ รายการของขั้นตอนสามารถเปลี่ยนแปลงได้แม้ว่าจะไม่ค่อยจำเป็นก็ตาม

หากคุณต้องการดำเนินการที่ไม่ได้มาตรฐานในบางช่วง คุณเพียงแค่เพิ่มปลั๊กอินที่เหมาะสมใน pom.xml

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>Name-plugin</artifactId>
  <executions>
    <execution>
      <id>customTask</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>pluginGoal</goal>
      </goals>
    </execution>
  </executions>
</plugin>

สิ่งที่สำคัญที่สุดในกรณีนี้คือการกำหนดชื่อของเฟส "การดำเนินการ/เฟส" สำหรับปลั๊กอิน ซึ่งคุณต้องฝังการเรียกไปยังเป้าหมายของปลั๊กอิน "เป้าหมาย" ตัวอย่างเช่น คุณต้องสร้างโค้ด Java ตาม xml จากนั้นคุณต้องมีเฟส "สร้างซอร์ส" ซึ่งวางไว้ก่อนการเรียกไปยังเฟสการคอมไพล์และเหมาะสำหรับการสร้างซอร์สส่วนหนึ่งของโปรเจ็กต์

ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ