Maven - 2, explication détaillée du processus d'installation, de configuration et de fonctionnement mvn

1. L'environnement de cet article

  1. jdk1.8

  2. maven3.6.2

Nous voulons écrire du code java, nous devons installer jdk, puis nous devons utiliser maven, de même, nous devons installer maven sur notre machine.

2. Installez Maven sous Linux

Maven est écrit en langage Java, donc si nous voulons exécuter maven, nous devons d'abord installer jdk.

2.1, installez jdk

2.1.1. Télécharger jdk

Cette fois, nous installons jdk1.8, vous pouvez vous rendre sur le site officiel d'Oracle pour télécharger jdk-8u181-linux-x64.tar.gz, et le mettre dans le répertoire /opt/jdk, comme suit :

[root@ady01 jdk]# cd /opt/jdk/
[root@ady01 jdk]# ll
total 181300
-rw-r--r-- 1 root root 185646832 Nov  1 13:30 jdk-8u181-linux-x64.tar.gz

2.1.2, décompressez jdk

[root@ady01 jdk]# tar -zvxf jdk-8u181-linux-x64.tar.gz
[root@ady01 jdk]# ll
total 181304
drwxr-xr-x 7   10  143      4096 Jul  7  2018 jdk1.8.0_181
-rw-r--r-- 1 root root 185646832 Nov  1 13:30 jdk-8u181-linux-x64.tar.gz

2.1.3, configurer les variables d'environnement

Ajoutez les lignes suivantes à la fin du fichier /etc/profile

export JAVA_HOME=/opt/jdk/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

Cet endroit élargit les points de connaissance :

Parlons d'un point de connaissance. Lorsque le système exécute java ou d'autres commandes externes, comment le système trouve-t-il ces commandes ?

Sous linux, il recherchera cette commande dans tous les répertoires correspondant à PATH, et elle pourra être exécutée directement si elle est trouvée. Si PATH n'est pas défini, nous devons connaître le chemin complet de la commande pour l'exécuter, il est plus pratique d'utiliser PATH.

Dans window, il y a aussi une variable système PATH. La valeur de ce PATH est composée des adresses de plusieurs répertoires. Lorsque nous exécutons une commande, le système va rechercher la commande que nous exécutons dans tous les répertoires correspondant à PATH. Si nous le trouver, nous pouvons directement Exécuter, par exemple, si vous voulez démarrer rapidement un autre logiciel, vous pouvez définir ces logiciels dans la variable PATH, et vous pouvez le démarrer rapidement dans la commande cmd.

2.1.4. Exécutez la commande suivante pour que la variable d'environnement prenne effet

[root@ady01 jdk1.8.0_181]# source /etc/profile

2.1.5. Vérifier que jdk est normal

Vérifier la version jdk

[root@ady01 jdk]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

Créez un nouveau fichier /opt/jdk/HelloWorld.java avec le contenu suivant :

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello maven!");
    }
}

Exécutez la commande ci-dessous :

[root@ady01 jdk]# cd /opt/jdk/
[root@ady01 jdk]# javac HelloWorld.java 
[root@ady01 jdk]# java HelloWorld
hello maven!
恭喜,输出hello maven表示正常,jdk安装成功!

2.2. Installer maven

2.2.1. Télécharger maven

Allons sur le site officiel de maven pour télécharger le dernier maven, l'adresse est la suivante :

https://maven.apache.org/download.cgi

La version que nous utilisons est apache-maven-3.6.2, nous devons apache-maven-3.6.2-bin.tar.gzla télécharger sous Linux.

[root@ady01 jdk]# mkdir /opt/maven
[root@ady01 jdk]# cd /opt/maven/
[root@ady01 maven]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
--2019-11-01 13:47:11--  http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9142315 (8.7M) [application/octet-stream]
Saving to: ‘apache-maven-3.6.2-bin.tar.gz’

100%[==================================================================================================================================>] 9,142,315   10.2MB/s   in 0.9s   

2019-11-01 13:47:13 (10.2 MB/s) - ‘apache-maven-3.6.2-bin.tar.gz’ saved [9142315/9142315]
[root@ady01 maven]# ls
apache-maven-3.6.2-bin.tar.gz

Ci-dessus, nous avons créé le répertoire /opt/maven pour stocker les logiciels liés à maven, puis utilisé la commande wget, qui est une commande sous Linux, qui peut accéder à une adresse http et la télécharger dans le répertoire courant.

2.2.2, décompressez maven

[root@ady01 maven]# tar -zvxf apache-maven-3.6.2-bin.tar.gz
[root@ady01 maven]# ls
apache-maven-3.6.2  apache-maven-3.6.2-bin.tar.gz

2.2.3, structure de répertoire maven

[root@ady01 maven]# ll /opt/maven/maven/
total 40
drwxr-xr-x 2 root  root   4096 Nov  1 13:49 bin
drwxr-xr-x 2 root  root   4096 Nov  1 13:49 boot
drwxrwxr-x 3 mysql mysql  4096 Aug 27 23:01 conf
drwxrwxr-x 4 mysql mysql  4096 Nov  1 13:49 lib
-rw-rw-r-- 1 mysql mysql 12846 Aug 27 23:09 LICENSE
-rw-rw-r-- 1 mysql mysql   182 Aug 27 23:09 NOTICE
-rw-rw-r-- 1 mysql mysql  2533 Aug 27 23:01 README.txt
  1. bin : stocke les fichiers exécutables

  2. conf : stocker les fichiers de configuration maven

  3. lib : maven est écrit en Java, et de nombreux packages jar tiers y sont utilisés, et ces packages jar sont situés dans lib

2.2.4. Créer un lien symbolique pointant vers le répertoire apache-maven-3.6.2

[root@ady01 maven]# ln -s apache-maven-3.6.2 maven
[root@ady01 maven]# ll
total 8936
drwxr-xr-x 6 root root    4096 Nov  1 13:49 apache-maven-3.6.2
-rw-r--r-- 1 root root 9142315 Sep  3 05:43 apache-maven-3.6.2-bin.tar.gz
lrwxrwxrwx 1 root root      18 Nov  1 13:56 maven -> apache-maven-3.6.2

ln –s 源文件 目标文件C'est une commande sous Linux. Vous connaissez tous les raccourcis dans Windows. Cela équivaut à 源文件créer un raccourci pour vous. Le nom du raccourci est appelé 目标文件.

ln -s apache-maven-3.6.2 mavenCela signifie qu'un apache-maven-3.6.2raccourci est créé mavenet que l' accès mavenest équivalent à l' accès apache-maven-3.6.2.

Pourquoi un raccourci est-il nécessaire ici ?

Il sera plus pratique de mettre à jour maven à l'avenir. Si nous devons mettre à jour maven vers la dernière version, telle que 3.7, il nous suffit de télécharger 3.7 dans le répertoire actuel, puis d'exécuter la commande pour modifier la direction du raccourci, ce qui est très pratique ln -s apache-maven-3.7 maven.

2.2.5. Configurer les variables d'environnement Maven

Ajoutez les lignes suivantes à la fin du fichier /etc/profile

export M2_HOME=/opt/maven/maven
export PATH=$M2_HOME/bin:$PATH

 2.2.6. Exécutez la commande suivante pour que la variable d'environnement prenne effet

[root@ady01 maven]# source /etc/profile

 2.2.7. Vérifier que maven est normal

[root@ady01 maven]# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /opt/maven/maven
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /opt/jdk/jdk1.8.0_181/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.2.2.el7.x86_64", arch: "amd64", family: "unix"

mvn -vAffichez les informations de numéro de version de maven. Si la sortie est similaire à ce qui précède, alors félicitations, maven est installé avec succès !

3. Windows installe maven

3.1, installez jdk

L'installation de la fenêtre jdk n'est pas répétée ici

3.2. Installer maven

3.2.1, téléchargez maven3.6.2

下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

3.2.2 Décompression

Placez-le dans le répertoire D:\installsoft\maven, comme indiqué ci-dessous

3.2.3, configurer les variables d'environnement

Créez une nouvelle variable d'environnement M2_HOMEavec la valeur :

D:\installsoft\maven\apache-maven-3.6.2

Modifiez la variable d'environnement PATH et ajoutez-la à la valeur de PATH%M2_HOME%\bin

3.2.4. Vérifier que maven est normal

C:\Users\Think>mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: D:\installsoft\maven\apache-maven-3.6.2\bin\..
Java version: 1.8.0_121, vendor: Oracle Corporation, runtime: D:\installsoft\Java\jdk1.8.0_121\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

mvn -vAffichez les informations de numéro de version de maven. Si la sortie est similaire à ce qui précède, alors félicitations, maven est installé avec succès !

4. Explication détaillée du principe de fonctionnement de Maven

Ce symbole sera utilisé plus tard dans cet article ~. Laissez-moi d'abord expliquer ce symbole. Ce symbole représente le répertoire de l'utilisateur actuel.

Par défaut dans la fenêtreC:\Users\用户名

L'utilisateur racine Linux est dans /rootle répertoire par défaut, et le ~ des autres utilisateurs correspond à/home/用户名

Dans les articles suivants, nous utiliserons ~ pour représenter le répertoire des utilisateurs, et cet endroit ne sera pas expliqué à nouveau.

Exécutez la commande suivante pour voir l'effet

C:\Users\Think>mvn help:system
[INFO] Scanning for projects...
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.pom (4.7 kB at 4.0 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/12/maven-plugins-12.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/12/maven-plugins-12.pom (12 kB at 21 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom (33 kB at 44 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.jar (24 kB at 12 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.pom (15 kB at 13 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom (13 kB at 33 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.jar (209 kB at 29 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom (11 kB at 14 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
Progress (1): 153 kB

mvn help:systemAprès avoir exécuté la commande ci-dessus , il semble que https://repo.maven.apache.orgbeaucoup de choses soient téléchargées depuis le site, et enfin les informations de toutes les variables d'environnement du système sont sorties.

Examinons de plus près mvn help:systemle processus d'exécution de cette commande :

  1. mvn help:systemaprès avoir couru

  2. Le système recherchera la commande mvn dans tous les répertoires correspondant à la variable d'environnement PATH, puis trouvera le fichier D:\installsoft\maven\apache-maven-3.6.2\binexécutable dansmvn

  3. Exécutez le fichier mvn, c'est-à-dire exécutez la commande mvn

  4. Habituellement, lorsque certains logiciels démarrent, il y aura un fichier de configuration de démarrage, et maven l'a également. Lorsque la commande mvn démarre, elle ira dans le répertoire ~/.m2pour trouver le fichier de configuration settings.xml. Ce fichier est le fichier de configuration de démarrage de la commande mvn . Où le mettre, etc.), si le fichier ~/.m2est introuvable dans le répertoire settings.xml, alors il ira dans M2_HOME/confle répertoire pour trouver le fichier de configuration, puis exécutera le programme maven

  5. La commande mvn est suivie d'un paramètre : help:sytem, qu'est-ce que cela signifie ? Cela signifie exécuter le plugin, puis envoyer une commande helpau plugin d'aidesystem

  6. Maven vérifie le répertoire de cache local (le répertoire par défaut est ~/.m2le répertoire) pour savoir s'il existe un plugin d'aide, sinon, passez aux étapes suivantes

  7. Maven ira sur un site par défaut (un site Web [repo.maven.apache.org] fourni par apache pour maven, c'est ce qu'on appelle l'entrepôt central) pour télécharger le plugin d'aide dans le ~/.m2répertoire

  8. Exécutez le plug-in d'aide, puis envoyez systemdes instructions au plug-in d'aide. systemUne fois que le plug-in d'aide reçoit la commande, il génère les informations des variables d'environnement locales. Si le système ne trouve pas le plug-in spécifié ou envoie une commande non reconnue au plug-in, une erreur sera signalée.

Faisons à nouveau l'expérience du processus ci-dessus. Toutes les commandes de maven sont fournies sous la forme de plug-ins, donc l'extension maven est également assez simple.

4.1, nom du plugin mvn : aide 

Ce qui précède affichera le document d'aide du plug-in, ressentons-en un :

C:\Users\Think>mvn clean:help
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:help (default-cli) @ standalone-pom ---
[INFO] org.apache.maven.plugins:maven-clean-plugin:2.5

Maven Clean Plugin
  The Maven Clean Plugin is a plugin that removes files generated at build-time
  in a project's directory.

This plugin has 2 goals:

clean:clean
  Goal which cleans the build.
  This attempts to clean a project's working directory of the files that were
  generated at build-time. By default, it discovers and deletes the directories
  configured in project.build.directory, project.build.outputDirectory,
  project.build.testOutputDirectory, and project.reporting.outputDirectory.

  Files outside the default may also be included in the deletion by configuring
  the filesets tag.

clean:help
  Display help information on maven-clean-plugin.
  Call
    mvn clean:help -Ddetail=true -Dgoal=<goal-name>
  to display parameter details.


[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.372 s
[INFO] Finished at: 2019-11-01T17:59:04+08:00
[INFO] Final Memory: 15M/487M
[INFO] ------------------------------------------------------------------------

Ceux-ci seront décrits en détail ultérieurement.

5. Quelques configurations de Maven

5.1. Paramètres du fichier de démarrage

Comme mentionné ci-dessus mvn, lors de l'exécution, le fichier de configuration de démarrage sera chargé settings.xml. Ce fichier est dans M2_HOME/confle répertoire par défaut. Généralement, nous allons en copier un et le mettre ~/.m2dans le répertoire. Le premier est un fichier de configuration global. Tous les utilisateurs sur l'ensemble machine sera affectée par cette configuration. Cette dernière est au niveau de l'utilisateur, seul l'utilisateur actuel sera affecté par la configuration. Il est recommandé d'utiliser la configuration au niveau de l'utilisateur et de la placer dans ~/.m2l'annuaire au lieu d'utiliser la configuration globale, afin de ne pas affecter l'utilisation des autres utilisateurs. De plus, il est pratique d'utiliser et de mettre à jour la version maven à l'avenir. Dans des circonstances normales, nous n'avons pas besoin de toucher à l'intégralité du répertoire d'installation de maven. Lors de la mise à niveau, nous n'avons qu'à remplacer le fichier d'installation, ce qui est très pratique. .

5.2, configurer le répertoire de cache local

Il y a une balise dans settings.xml localRepository, qui peut définir le répertoire de cache local. Les plug-ins téléchargés par maven depuis l'entrepôt distant et tous les packages jar que nous utiliserons à l'avenir seront placés dans ce répertoire, comme suit :

<localRepository>C:/Users/Think/.m1/repository</localRepository>

6. Résumé

  1. Maîtriser le processus d'installation de maven

  2. ~Indique le répertoire utilisateur actuel

  3. Le fichier de configuration maven settings.xml est généralement placé ~/.m2dans le répertoire pour faciliter la mise à jour de maven et éviter d'affecter la configuration des autres utilisateurs

  4. Comprendre le processus d'exécution de la commande mvn 

Acho que você gosta

Origin blog.csdn.net/qq_34272760/article/details/127091113
Recomendado
Clasificación