plugin Maven

Có sẵn

6.1 Giới thiệu về plugin

Vòng đời tiêu chuẩn có thể được tăng cường với chức năng sử dụng plugin Maven. Plugin cho phép bạn chèn các bước mới vào chu trình tiêu chuẩn (ví dụ: phân phối tới máy chủ ứng dụng) hoặc mở rộng các bước hiện có.

Các plugin trong Maven không phải là thứ gì đó đặc biệt, ngược lại, chúng là thứ phổ biến nhất và thường xuyên gặp phải. Rốt cuộc, nếu bạn muốn thiết lập một số sắc thái khi xây dựng dự án của mình, thì bạn cần chỉ định thông tin cần thiết trong pom.xml. Và cách duy nhất để làm điều này là viết một “plugin”.

Vì các plugin cũng giống như các phần phụ thuộc, nên chúng được mô tả theo cùng một cách. Thay vì phần phụ thuộc - plugin, thay vì phần phụ thuộc - plugin, thay vì kho lưu trữ - pluginRepositories, kho lưu trữ - pluginRepository.

Ví dụ:

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

Khai báo một plugin trong pom.xml cho phép bạn sửa phiên bản plugin, cũng như đặt các tham số cần thiết cho nó, xác định các tham số cấu hình khác nhau và liên kết với các giai đoạn.

Nói cách khác, Maven chạy một số plugin thực hiện tất cả công việc. Nghĩa là, nếu chúng ta muốn dạy Maven về các bản dựng đặc biệt của dự án, thì chúng ta cần thêm vào pom.xml một dấu hiệu để khởi chạy plugin mong muốn trong giai đoạn bắt buộc và với các tham số bắt buộc .

Số lượng plugin có sẵn là rất lớn, có nhiều plugin khác nhau cho phép bạn chạy ứng dụng web trực tiếp từ maven để kiểm tra ứng dụng đó trong trình duyệt, tạo tài nguyên, v.v. Nhiệm vụ chính của nhà phát triển trong tình huống này là tìm và áp dụng bộ plugin phù hợp nhất .

6.2 Vòng đời và plugin

Rất thường xuyên, plugin được sử dụng để khởi chạy một số loại tiện ích bảng điều khiển trong khi thực hiện một giai đoạn nhất định. Hơn nữa, chúng ta thậm chí có thể chạy một lớp Java thông thường (tất nhiên là có một phương thức chính).

Ví dụ:

<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>

Thông thường các plugin có thể được cấu hình rất linh hoạt. Tất cả các plugin chính thức từ các nhà phát triển Maven đều được ghi lại rất đầy đủ trên trang web chính thức của Maven. Ví dụ: đối với plugin trình biên dịch maven trên trang Dự án Maven của Apache, bạn có thể xem danh sách tất cả các biến kiểm soát plugin. Thông tin về plugin có sẵn tại liên kết

Thông tin quan trọng hơn. Các plugin khác nhau được Maven gọi ở các giai đoạn khác nhau trong vòng đời của chúng. Ví dụ: một dự án mô tả ứng dụng máy tính để bàn Java xoay có các giai đoạn vòng đời khác với các giai đoạn điển hình cho sự phát triển của ứng dụng web (chiến tranh).

Hoặc, ví dụ: khi lệnh “mvn test” được thực thi, toàn bộ các bước trong vòng đời của dự án được bắt đầu: “quy trình-tài nguyên”, “biên dịch”, “các lớp quy trình”, “kiểm tra quy trình -resource”, “kiểm tra-biên dịch”, kiểm tra. Bạn có thể thấy đề cập đến các giai đoạn này trong các thông báo được Maven hiển thị:

[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 Mục tiêu trong Maven - mục tiêu

Trong Maven, cũng có một thứ gọi là mục tiêu (mục tiêu). mục tiêu giống như mục tiêu khởi động Maven. Các mục tiêu chính trùng với các giai đoạn chính:

  • xác thực;
  • biên soạn;
  • Bài kiểm tra;
  • bưu kiện;
  • xác minh;
  • cài đặt;
  • triển khai.

Trong mỗi giai đoạn của vòng đời dự án, một plugin cụ thể (jar-thư viện) được gọi, bao gồm một số mục tiêu (mục tiêu)

Ví dụ: plugin "maven-compiler-plugin" chứa hai mục tiêu: trình biên dịch: biên dịch để biên dịch mã nguồn chính của dự án và trình biên dịch: testCompile để biên dịch các bài kiểm tra. Về mặt hình thức, danh sách các giai đoạn có thể được thay đổi, mặc dù điều này hiếm khi cần thiết.

Nếu bạn cần thực hiện một số hành động không chuẩn trong một giai đoạn nhất định, thì bạn chỉ cần thêm plugin thích hợp vào 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>

Điều quan trọng nhất trong trường hợp này là xác định cho plugin tên của giai đoạn “thực thi/giai đoạn”, trong đó bạn cần nhúng lệnh gọi đến mục tiêu của plugin “mục tiêu”. Ví dụ: bạn cần tạo mã Java dựa trên xml. Sau đó, bạn cần giai đoạn “tạo nguồn”, giai đoạn này được đặt trước cuộc gọi đến giai đoạn biên dịch và lý tưởng để tạo một phần nguồn của dự án.

Bình luận
  • Phổ biến
  • Mới
Bạn phải đăng nhập để đăng nhận xet
Trang này chưa có bất kỳ bình luận nào