Stapsgewijze installatie van Maven
-
Eerst moeten we Maven installeren. Download het via deze link .
-
Pak vervolgens het gedownloade archief uit en stel de omgevingsvariabele M2_HOME in op de locatie van het uitgepakte archief. Bijvoorbeeld C:\\Program Files\\maven\\
-
Voer het volgende uit op de opdrachtregel om ervoor te zorgen dat alles is geïnstalleerd:
mvn -versie
-
Als de versie-informatie voor Maven, Java, enz. wordt weergegeven, is alles klaar voor gebruik.
-
Open nu IntelliJ IDEA en maak een nieuw project aan. Selecteer Maven in het eerste venster:
-
Klik op "Volgende" en vul het venster dat verschijnt in:
-
Maak vervolgens, zoals gewoonlijk, een project aan waar u maar wilt.
Nadat het project is gemaakt, let op de structuur:
- de map src/main/java bevat de Java-klassen
- de map src/main/resources bevat de bronnen die door de toepassing worden gebruikt (HTML-pagina's, afbeeldingen, stijlbladen, enz.)
- de map src/test is voor tests
Afhankelijkheden beheren in Maven
U bent misschien de uitdrukking "afhankelijkheidsmanager" tegengekomen. Maven weet hoe hij afhankelijkheden moet beheren. Dankzij Maven hoeft u niet veel tijd te besteden aan het zoeken op internet naar een vereiste bibliotheek, deze te downloaden en vervolgens aan uw project te koppelen. In plaats daarvan voegt u gewoon de vereiste bibliotheek toe aan de lijst met afhankelijkheden in Maven.Afhankelijkheden worden opgegeven in het afhankelijkhedenknooppunt van het bestand pom.xml
Stel dat u de Apache Commons IO-bibliotheek in uw project nodig heeft om het werken met bestanden te vereenvoudigen. Om een bibliotheek toe te voegen, schrijven we vijf regels in pom.xml:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
Nu zou uw pom.xml-bestand er als volgt uit moeten zien:
<?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>
Laat IntelliJ IDEA daarna de afhankelijkheid importeren (er zou een dialoogvenster in de rechter benedenhoek moeten verschijnen). Nu is de bibliotheek klaar voor gebruik:
import org.apache.commons.io.FileUtils;
import java.io.File;
public class TestMaven {
public static void main(String[] args) {
File tempDirectory = FileUtils.getTempDirectory();
}
}
Alle volgende afhankelijkheden moeten ook in de <dependencies>
tag worden geschreven. U vraagt zich misschien af hoe u de informatie over de bibliotheek kunt vinden die u in de <dependency>
tag moet aangeven. Dat is eenvoudig. Er moeten altijd drie parameters worden ingesteld: "groupId", "artifactId" en "version". Er zijn twee manieren om deze parameters te bepalen:
-
Op de website van de bibliotheek. Als we de Apache Commons IO-bibliotheek nodig hebben, gaan we naar de officiële website en selecteren we het tabblad "Dependency Information". Alle benodigde informatie is hier — u kunt deze eenvoudig kopiëren en toevoegen aan het
<dependencies>
knooppunt. -
In een Maven-repository . Typ "apache commons io" in de zoekbalk en je ziet alle beschikbare versies van de bibliotheek. Nadat u de juiste hebt geselecteerd, kopieert u eenvoudig het volgende:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
en voeg het toe aan je pom.xml.
Soorten Maven-opslagplaatsen
Het is voor ons de moeite waard om Maven-repository's nogmaals te noemen, omdat we er eigenlijk twee hebben: een externe (centrale) repository en een lokale (op je computer) repository. Alle bibliotheken die u aan uw projecten toevoegt, worden opgeslagen in de lokale repository. Wanneer Maven een vereiste afhankelijkheid aan een project toevoegt, wordt eerst gecontroleerd of de bibliotheek al bestaat in de lokale repository. Het heeft alleen toegang tot de externe repository als het de bibliotheek niet lokaal vindt. Zoals u kunt zien, kunt u Maven gebruiken om afhankelijkheden toe te voegen, maar dit is niet alles wat het kan doen.Een Java-project bouwen met Maven
Deze mogelijkheid lijkt misschien zinloos voor een beginner. Waarom hebben we dit nodig als we een IDE hebben? Laat het me uitleggen. Ten eerste heeft de server waarop u uw applicatie moet bouwen mogelijk geen ontwikkelomgeving of grafische interface. Ten tweede, bij grote projecten kan Maven het project beter bouwen. Dus zonder verder adieu, zullen we het proces van het bouwen van een applicatie met Maven overwegen.fasen
Het proces van het bouwen van een applicatie staat bekend als de levenscyclus van een Maven-project en bestaat uit fasen. Je kunt ze bekijken in IDEA door te klikken op Maven > voorbeeld > Levenscyclus in de rechterbovenhoek: Zoals je kunt zien zijn er 9 fasen:- schoon - verwijdert alle gecompileerde bestanden uit de doelmap (de plaats waar voltooide artefacten worden opgeslagen)
- valideren — controleert of alle informatie die nodig is om het project op te bouwen aanwezig is
- compileren — compileert broncodebestanden
- test — start tests
- pakket — pakketten gecompileerde bestanden (in een JAR, WAR, etc. archief)
- verifiëren — controleert of het ingepakte bestand gereed is
- install — plaatst het pakket in de lokale repository. Nu kan het door andere projecten worden gebruikt als een externe bibliotheek
- site — maakt projectdocumentatie
- deploy — kopieert het gebouwde archief naar de externe repository
-
via de opdrachtregel:
mvn-pakket
-
met behulp van IntelliJ IDEA:
Voordat de pakketfase begint, worden de validatie-, compileer- en testfasen uitgevoerd. De schone fase is een uitzondering. Het is een goed idee om deze fase uit te voeren vóór elke build van het project. U kunt meerdere fasen vermelden, gescheiden door spaties:
mvn schoon pakket.
Plug-ins
Om een Maven-plug-in aan het project toe te voegen, moeten we de beschrijving ervan toevoegen aan het pom.xml-bestand, met behulp van<build>
en <plugins>
tags, vergelijkbaar met hoe we afhankelijkheden hebben toegevoegd. Stel dat we een plug-in nodig hebben om te verifiëren dat we de nieuwste versie van al onze externe bibliotheken gebruiken. Na een beetje zoeken op internet, zou je deze plug-in en instructies voor het gebruik ervan kunnen vinden. Laten we de groupId, artifactId en version instellen. We geven aan aan welke doelen de plugin moet voldoen en in welke fase. In ons geval is de afhankelijkheidscontrole in de huidige pom.xml ingesteld tijdens de validatiefase. Nu ziet ons pom.xml-bestand er als volgt uit:
<?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>
We konden verder werken aan ons project. Maar laten we proberen de versie van Apache Commons IO te wijzigen in 2.0 en het project te bouwen. We zullen krijgen
[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 hebben we een build-fout gegenereerd door de plug-in. De foutmelding geeft aan dat we versie 2.0 gebruiken wanneer versie 2.6 beschikbaar is. Kortom, Maven is een erg handig hulpmiddel. Misschien lijkt het in het begin moeilijk om te gebruiken, maar oefen! Creëer uw projecten met Maven en na een tijdje zult u zeer tevreden zijn met het eindresultaat. Dit artikel heeft met opzet veel details over Maven weggelaten — we hebben ons gericht op de meest essentiële. Maar er is geen limiet aan verbetering: u kunt meer lezen over Maven op de officiële website . Deel 5. Servlets en de Java Servlet API. Een eenvoudige webapplicatie schrijven Deel 6. Servlet-containers Deel 7. Introductie van het MVC-patroon (Model-View-Controller)
GO TO FULL VERSION