5.1 Liste der Projektphasen

Schließlich kamen wir zur Montage des Projekts. Und dann werden Sie ein wenig überrascht sein. Nun ja, oder stark, wie sich herausstellt. Maven hat seinen Ansatz zum Aufbau eines Projekts überarbeitet. Und jetzt werden Sie davon überzeugt sein.

Der gesamte Aufbau des Projekts war in Phasen unterteilt, deren Beschreibung ich in der folgenden Tabelle wiedergeben werde:

Befehl Phase
1 bestätigen prüft die Richtigkeit der Metainformationen zum Projekt
2 kompilieren stellt Quellen zusammen
3 prüfen führt die Klassentests aus dem vorherigen Schritt aus
4 Paket packt die kompilierten Klassen in ein neues Artefakt: jar, war, zip, ...
5 verifizieren prüft die Korrektheit des Artefakts und die Erfüllung der Qualitätsanforderungen
6 Installieren legt das Artefakt im lokalen Repository ab
7 einsetzen lädt ein Artefakt auf einen Produktionsserver oder ein Remote-Repository hoch

Gleichzeitig sind die Schritte klar sequentiell . Wenn Sie Maven anweisen, den Paketbefehl auszuführen, werden zuerst die Validierungs-, Kompilierungs- und Testphasen und erst dann das Paket ausgeführt

Im Prinzip gibt es hier nichts Neues, außer dass es separate Phasen zur Qualitätskontrolle gibt: Validieren, Testen, Verifizieren. Und bis zu zwei Phasen für die Bereitstellung der Baugruppe – Installation und Bereitstellung.

Um eine bestimmte Phase zu starten, reicht es aus, den Maven-Phase- Befehl zu schreiben . Zum Erstellen müssen Sie beispielsweise den Maven- Paketbefehl ausführen . Und dergleichen.

Intellij IDEA eignet sich hervorragend für die Arbeit mit diesen Phasen und verfügt auf der rechten Seite über ein spezielles Menü für diese Zwecke:

Maven-Phase

Hier zeigt IDEA zusätzlich zu den bekannten Phasen zwei weitere Befehle an: clean und site . Clean wird verwendet, um den Zielordner vollständig zu löschen, und die Site kann eine Projektdokumentation erstellen.

5.2 Ein Projekt erstellen

Wenn Sie das Projekt kompilieren möchten, müssen Sie die Kompilierungsphase ausführen. Dies kann über die Befehlszeile erfolgen: mvn compile oder über die IDEA-Schnittstelle, indem Sie auf das Kompilierungselement klicken .

Danach beginnt Maven mit der Erstellung des Projekts und Sie sehen ein Protokoll des Erstellungsprozesses, das etwa so aussieht:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.742 s
[INFO] Finished at: 2016-09-19T22:41:26+04:00
[INFO] Final Memory: 7M/18M
[INFO] ------------------------------------------------------------------------

Wenn etwas schief gelaufen ist, sieht das Protokoll so aus:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project demo: Fatal error compiling: invalid target release: 11 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible sliutions, please read the flilowing articles:
[ERROR] [Help 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 

Das Protokoll enthält viele nützliche Informationen. Mit der Zeit werden Sie lernen, diese zu verstehen und zu schätzen.

5.3 Arbeitszyklen

Alle Maven-Befehle sind in drei Gruppen unterteilt – Lebenszyklen. Sie werden Lebenszyklen genannt, weil sie die Reihenfolge der Phasen angeben, die während eines Builds oder eines bestimmten Lebenszyklus ausgeführt werden, da nicht alle Maven-Aktivitäten Builds sind.

Es gibt drei Lebenszyklen:

  • sauber;
  • Standard;
  • Grundstück.

Und jeder von ihnen hat seine eigene Phasenreihenfolge. Clean hat die kürzeste:

  1. Vorreinigung;
  2. sauber;
  3. Posten Sie sauber.

Damit das Aufräumszenario flexibler gestaltet werden kann, wurden versteckte zusätzliche Vor- und Nachreinigungsphasen hinzugefügt.

Dann kommt der Site-Lebenszyklus , der, wie Sie bereits wissen, darauf ausgelegt ist, automatisch eine Projektdokumentation zu erstellen. Es besteht aus vier Phasen:

  1. Vor-Website
  2. Grundstück;
  3. Post-Site;
  4. Site-Bereitstellung.

Standardlebenszyklen können mithilfe von Maven-Plugins um Funktionen erweitert werden . Wir werden später darüber sprechen, da dies ein sehr interessantes Thema ist, das einen eigenen Vortrag verdient.

Und das Standardskript hat die längste Liste von Phasen:

  1. bestätigen;
  2. Generierungsquellen;
  3. Prozessquellen;
  4. generieren-Ressourcen;
  5. Prozessressourcen;
  6. kompilieren;
  7. Prozesstestquellen;
  8. Prozesstestressourcen;
  9. Testkompilierung;
  10. prüfen;
  11. Paket;
  12. Installieren;
  13. einsetzen.

Es gibt dieselben Phasen, die Sie bereits kennen, es wurden jedoch einige weitere optionale hinzugefügt.

Erstens ist das Generieren von Quellen eine beliebte Phase in großen Projekten : zum Beispiel das Generieren von Java-Code auf Basis von XML. Und ein Paar Process-Sources , die etwas mit diesem Code machen.

Zweitens ist die Generierung von RessourcenGenerate -Ressourcen und seine gepaarte Prozessressourcenmethode . In großen Projekten werden Sie häufig einige Aktivitäten sehen, die mit diesen Phasen verbunden sind.

Und schließlich das Testen. Es verfügt über drei zusätzliche optionale Phasen, die dazu beitragen, die Testphase so flexibel wie möglich durchzuführen: Prozesstestquellen, Prozesstestressourcen und Testkompilierung.