English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven 插件

Maven hat die folgenden drei Standard-Lebenszyklen:

  • cleanVerarbeitung der Projekt-Bereinigung

  • default(oder build)Verarbeitung der Projekt-Deployment

  • siteVerarbeitung der Erstellung der Projekt-Website-Dokumentation

Jeder Lebenszyklus enthält eine Reihe von Phasen(phase). Diese Phasen sind wie die universellen Schnittstellen bereitgestellt durch Maven, und die Implementierung dieser Phasen wird durch Maven-Plugins abgeschlossen.

Wenn wir den Befehl mvn eingeben, zum Beispiel mvn clean, entspricht clean dem clean Phase des Clean-Lebenszyklus. Die spezifische Operation von clean wird jedoch von maven-clean-plugin realisiert.

Daher wird jede spezifische Implementierung jeder Phase des Maven-Lebenszyklus durch Maven-Plugins bereitgestellt.

Maven ist tatsächlich ein Framework, das durch Abhängigkeitsplugins ausgeführt wird, jede Aufgabe wird tatsächlich von Plugins erledigt. Maven-Plugins werden in der Regel verwendet, um:

  • Erstellen Sie Jar-Dateien

  • Erstellen Sie War-Dateien

  • Kompilieren Sie Code-Dateien

  • Kodierungseinheiten testen

  • Erstellen Sie Projekt-Dokumentation

  • Erstellen Sie Projektberichte

Plugins bieten in der Regel eine Sammlung von Zielen und können mit der folgenden Syntax ausgeführt werden:

<code>mvn [plugin-name]:[Ziel-name]</code>

Beispielsweise kann ein Java-Projekt maven verwenden-compiler-compile des Plugins-Ziel kompilieren, verwenden Sie den folgenden Befehl:

<code>mvn compiler:compile</code>

Plugin-Typ

Maven bietet zwei Arten von Plugins an:

TypBeschreibung
Build-PluginsWährend der Erstellung ausführen und im Element pom.xml konfigurieren.
BerichterstattungspluginsWährend des Generierungsprozesses der Website ausführen und im Element pom.xml konfigurieren.

Nachstehend finden Sie eine Liste einiger häufig verwendeter Plugins:

PluginBeschreibung
cleanBereinigen Sie nach der Erstellung Zieldateien. Löschen Sie das Zielverzeichnis.
compilerKompilieren Sie Java-Quelldateien.
surefileFühren Sie JUnit-Unit-Tests aus. Erstellen Sie Testberichte.
jarErstellen Sie ein JAR-Datei aus dem aktuellen Projekt.
warErstellen Sie ein WAR-Datei aus dem aktuellen Projekt.
javadocErstellen Sie Javadoc für das Projekt.
antruneine Sammlung von Ant-Aufgaben aus jeder beliebigen Phase des Bauprozesses auszuführen.

Online-Beispiel

haben wir in unserem Beispiel intensiv verwendet maven-antrun-plugin um Daten auf die Konsole auszugeben. Bitte sehen Sie Maven - Baukonfigurationsdatei Kapitel. Lassen Sie uns diese Inhalte auf eine bessere Weise verstehen, indem wir im Verzeichnis C:\MVN\project eine Datei pom.xml erstellen.

<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.companyname.projectgroup</groupId>/groupId>
<artifactId>project</artifactId>/artifactId>
<version>1.0/version>
<build>
<plugins>
   <plugin>
   <groupId>org.apache.maven.plugins</groupId>/groupId>
   <artifactId>maven</artifactId>-antrun-plugin/artifactId>
   <version>1.1</version>
   <executions>
      <execution>
         <id>id.clean</id>/id>
         <phase>clean</phase>/phase>
         <goals>
            <goal>run</goal>/goal>
         </goals>
         <configuration>
            <tasks>
               <echo>clean phase</echo>/echo>
            </tasks>
         </configuration>
      </execution>     
   </executions>
   </plugin>
</plugins>
</build>
</project>

Öffnen Sie nun den Befehlszeilen-Terminal und wechseln Sie zum Verzeichnis, in dem sich das Datei pom.xml befindet, und führen Sie den folgenden mvn-Befehl aus.

mvn clean

Maven beginnt mit der Verarbeitung und zeigt den 'clean'-Zustand des Lebenszyklus an.

[INFO] 搜索项目...
[INFO] ------------------------------------------------------------------
[INFO] 构建未命名 - com.companyname.projectgroup:project:jar:1.0
[INFO] 任务-段:[post-clean}]
[INFO] ------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [antrun:run {execution: id.clean}]
[INFO] 正在执行任务
     [echo] clean 阶段
[INFO] 执行了任务
[INFO] ------------------------------------------------------------------
[INFO] 构建成功
[INFO] ------------------------------------------------------------------
[INFO] 总时间: 1 second
[INFO] 完成于:Sat Jul 07 13:38:59 IST 2012
[INFO] 最终内存: 4M/44M
[INFO] ------------------------------------------------------------------

上面的实例展示了以下关键概念:

  • 插件是在 pom.xml 中使用 plugins 元素定义的。

  • 每个插件可以有多个目标。

  • 你可以定义阶段,插件会使用它的 phase 元素开始处理。我们已经使用了 clean 阶段。

  • 你可以通过绑定到插件的目标的方式来配置要执行的任务。我们已经绑定了 echo 任务到 maven-antrun-插件的 运行 目标。

  • 就是这样,Maven 将处理剩下的事情。它将下载本地仓库中获取不到的插件,并开始处理。