
Schritt-für-Schritt-Installation von Maven
-
Zuerst müssen wir Maven installieren. Laden Sie es über diesen Link herunter .
-
Als nächstes entpacken Sie das heruntergeladene Archiv und setzen die Umgebungsvariable M2_HOME auf den Speicherort des entpackten Archivs. Beispiel: C:\\Programme\\maven\\
-
Um sicherzustellen, dass alles installiert ist, führen Sie Folgendes in der Befehlszeile aus:
mvn-Version
-
Wenn die Versionsinformationen für Maven, Java usw. angezeigt werden, ist alles startklar.
-
Öffnen Sie nun IntelliJ IDEA und erstellen Sie ein neues Projekt. Wählen Sie im ersten Fenster Maven aus:
-
Klicken Sie auf „Weiter“ und füllen Sie das angezeigte Fenster aus:
-
Erstellen Sie dann wie gewohnt ein Projekt an der gewünschten Stelle.
Beachten Sie nach der Erstellung des Projekts dessen Struktur:
- Der Ordner src/main/java enthält die Java-Klassen
- Der Ordner src/main/resources enthält die von der Anwendung verwendeten Ressourcen (HTML-Seiten, Bilder, Stylesheets usw.).
- Der Ordner src/test ist für Tests vorgesehen
Verwalten von Abhängigkeiten in Maven
Möglicherweise ist Ihnen der Begriff „Abhängigkeitsmanager“ schon einmal begegnet. Maven weiß, wie man Abhängigkeiten verwaltet. Dank Maven müssen Sie nicht viel Zeit damit verbringen, im Internet nach einer benötigten Bibliothek zu suchen, sie herunterzuladen und sie dann mit Ihrem Projekt zu verbinden. Stattdessen fügen Sie einfach die erforderliche Bibliothek zur Liste der Abhängigkeiten in Maven hinzu.Abhängigkeiten werden im Abhängigkeitsknoten der Datei pom.xml angegeben
Nehmen wir an, Sie benötigen die Apache Commons IO-Bibliothek in Ihrem Projekt, um die Arbeit mit Dateien zu vereinfachen. Um eine Bibliothek hinzuzufügen, schreiben wir fünf Zeilen in pom.xml:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Jetzt sollte Ihre pom.xml-Datei so aussehen:
<?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>
Erlauben Sie anschließend IntelliJ IDEA, die Abhängigkeit zu importieren (in der unteren rechten Ecke sollte ein Dialogfeld angezeigt werden). Jetzt ist die Bibliothek einsatzbereit:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
Alle nachfolgenden Abhängigkeiten müssen ebenfalls in das Tag geschrieben werden <dependencies>
. Möglicherweise fragen Sie sich, wie Sie die Informationen über die Bibliothek herausfinden, die Sie im <dependency>
Tag angeben müssen. Das ist einfach. Es müssen immer drei Parameter festgelegt werden: „groupId“, „artifactId“ und „version“. Es gibt zwei Möglichkeiten, diese Parameter zu bestimmen:
-
Auf der Website der Bibliothek. Wenn wir die Apache Commons IO-Bibliothek benötigen, gehen wir auf die offizielle Website und wählen die Registerkarte „Abhängigkeitsinformationen“. Alle notwendigen Informationen finden Sie hier – Sie können sie einfach kopieren und dem
<dependencies>
Knoten hinzufügen. -
In einem Maven-Repository . Geben Sie „Apache Commons io“ in die Suchleiste ein und Sie sehen alle verfügbaren Versionen der Bibliothek. Nachdem Sie das richtige ausgewählt haben, kopieren Sie einfach Folgendes:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
und fügen Sie es Ihrer pom.xml hinzu.
Arten von Maven-Repositorys
Es lohnt sich für uns, die Maven-Repositorys noch einmal zu erwähnen, da wir tatsächlich zwei davon haben: ein Remote- Repository (zentrales Repository) und ein lokales Repository (auf Ihrem Computer). Alle Bibliotheken, die Sie Ihren Projekten hinzufügen, werden im lokalen Repository gespeichert. Wenn Maven einem Projekt eine erforderliche Abhängigkeit hinzufügt, prüft es zunächst, ob die Bibliothek bereits im lokalen Repository vorhanden ist. Es greift nur dann auf das Remote-Repository zu, wenn es die Bibliothek nicht lokal findet. Wie Sie sehen, können Sie mit Maven Abhängigkeiten hinzufügen, aber das ist noch nicht alles.Erstellen eines Java-Projekts mit Maven
Für einen Anfänger mag diese Möglichkeit sinnlos erscheinen. Warum brauchen wir das, wenn wir eine IDE haben? Lassen Sie mich erklären. Erstens verfügt der Server, auf dem Sie Ihre Anwendung erstellen müssen, möglicherweise weder über eine Entwicklungsumgebung noch über eine grafische Oberfläche. Zweitens gelingt es Maven bei großen Projekten besser, das Projekt aufzubauen. Daher betrachten wir ohne Umschweife den Prozess der Erstellung einer Anwendung mit Maven.Phasen
Der Prozess der Erstellung einer Anwendung wird als Lebenszyklus eines Maven-Projekts bezeichnet und besteht aus Phasen. Sie können sie in IDEA ansehen, indem Sie oben rechts auf Maven > Beispiel > Lebenszyklus klicken:
- clean – entfernt alle kompilierten Dateien aus dem Zielverzeichnis (dem Ort, an dem fertige Artefakte gespeichert werden)
- validieren – prüft, ob alle zum Erstellen des Projekts erforderlichen Informationen vorhanden sind
- kompilieren – kompiliert Quellcodedateien
- test – startet Tests
- Paket – verpackt kompilierte Dateien (in einem JAR-, WAR- usw.-Archiv)
- überprüfen – prüft, ob die gepackte Datei bereit ist
- install – platziert das Paket im lokalen Repository. Jetzt kann es von anderen Projekten als externe Bibliothek verwendet werden
- site – erstellt Projektdokumentation
- Deploy – kopiert das erstellte Archiv in das Remote-Repository
-
über die Befehlszeile:
mvn-Paket
-
mit IntelliJ IDEA:
Bevor die Paketphase beginnt, werden die Validierungs-, Kompilierungs- und Testphasen durchgeführt. Eine Ausnahme bildet die Reinigungsphase. Es empfiehlt sich, diese Phase vor jedem Build des Projekts auszuführen. Sie können mehrere Phasen auflisten und diese durch Leerzeichen trennen:
mvn sauberes Paket.
Plugins
Um dem Projekt ein Maven-Plugin hinzuzufügen, müssen wir seine Beschreibung zur pom.xml-Datei hinzufügen und dabei die Tags<build>
und verwenden <plugins>
, ähnlich wie wir Abhängigkeiten hinzugefügt haben. Angenommen, wir benötigen ein Plugin, um zu überprüfen, ob wir die neueste Version aller unserer externen Bibliotheken verwenden. Nachdem Sie ein wenig im Internet gesucht haben, konnten Sie dieses Plugin und Anweisungen zu seiner Verwendung finden. Legen wir die Gruppen-ID, die Artefakt-ID und die Version fest. Wir geben an, welche Ziele das Plugin in welcher Phase erfüllen muss. In unserem Fall ist die Abhängigkeitsprüfung in der aktuellen pom.xml so eingestellt, dass sie während der Validierungsphase erfolgt. Jetzt sieht unsere pom.xml-Datei so aus:
<?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>
Wir konnten weiter an unserem Projekt arbeiten. Versuchen wir jedoch, die Version von Apache Commons IO auf 2.0 zu ändern und das Projekt zu erstellen. Wir werden .. bekommen
[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]
Hier haben wir einen vom Plugin generierten Build-Fehler. Die Fehlermeldung besagt, dass wir Version 2.0 verwenden, wenn Version 2.6 verfügbar ist. Grundsätzlich ist Maven ein sehr nützliches Werkzeug. Vielleicht erscheint die Anwendung zunächst schwierig, aber üben Sie! Erstellen Sie Ihre Projekte mit Maven und nach einer Weile werden Sie mit dem Endergebnis sehr zufrieden sein. In diesem Artikel wurden bewusst viele Details über Maven weggelassen – wir haben uns auf das Wesentlichste konzentriert. Der Verbesserung sind jedoch keine Grenzen gesetzt: Mehr über Maven können Sie auf der offiziellen Website lesen . Teil 5. Servlets und die Java-Servlet-API. Schreiben einer einfachen Webanwendung Teil 6. Servlet-Container Teil 7. Einführung in das MVC-Muster (Model-View-Controller).
GO TO FULL VERSION