Maven - 2, explicación detallada del proceso de instalación, configuración y operación de mvn

1. El entorno de este artículo

  1. jdk1.8

  2. maven3.6.2

Queremos escribir código java, necesitamos instalar jdk, luego necesitamos usar maven, de manera similar, necesitamos instalar maven en nuestra máquina.

2. Instalar maven en linux

Maven está escrito en lenguaje java, por lo que si queremos ejecutar maven, primero debemos instalar jdk.

2.1, instalar jdk

2.1.1 Descargar jdk

Esta vez instalamos jdk1.8, puede ir al sitio web oficial de Oracle para descargar jdk-8u181-linux-x64.tar.gz y colocarlo en el directorio /opt/jdk, de la siguiente manera:

[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, descomprimir 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, configurar variables de entorno

Agregue las siguientes líneas al final del archivo /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

Este lugar amplía puntos de conocimiento:

Hablemos de un punto de conocimiento: cuando el sistema ejecuta java u otros comandos externos, ¿cómo encuentra el sistema estos comandos?

En Linux, buscará este comando en todos los directorios correspondientes a PATH, y se puede ejecutar directamente si lo encuentra.Si PATH no está configurado, necesitamos saber la ruta completa del comando para ejecutarlo, por lo que es más conveniente usar PATH.

En la ventana también hay una variable de sistema PATH. El valor de este PATH está compuesto por las direcciones de muchos directorios. Cuando ejecutamos un comando, el sistema buscará el comando que ejecutamos en todos los directorios correspondientes a PATH. Si lo encontramos, podemos ejecutar directamente, por ejemplo, si desea iniciar rápidamente algún otro software, puede configurar este software en la variable PATH, y puede iniciarlo rápidamente en el comando cmd.

2.1.4 Ejecute el siguiente comando para que la variable de entorno surta efecto

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

2.1.5 Verificar que jdk sea normal

Comprobar la versión 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)

Cree un nuevo /opt/jdk/HelloWorld.java con el siguiente contenido:

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

Ejecute el siguiente comando:

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

2.2 Instalar maven

2.2.1 Descargar maven

Vayamos al sitio web oficial de maven para descargar el último maven, la dirección es la siguiente:

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

La versión que usamos es apache-maven-3.6.2, necesitamos descargarla apache-maven-3.6.2-bin.tar.gzen 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

Arriba, creamos el directorio /opt/maven para almacenar software relacionado con maven, y luego usamos el comando wget, que es un comando en Linux, que puede acceder a una dirección http y descargarla en el directorio actual.

2.2.2, descomprimir 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, estructura de directorios 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: almacenar archivos ejecutables

  2. conf: almacenar archivos de configuración maven

  3. lib: maven está escrito en java, y en él se utilizan muchos paquetes jar de terceros, y estos paquetes jar se encuentran en lib

2.2.4 Cree un enlace suave que apunte al directorio 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 源文件 目标文件Es un comando en Linux. Todos conocen los atajos en Windows. Esto es equivalente a 源文件crear un atajo para ustedes. El nombre del atajo se llama 目标文件.

ln -s apache-maven-3.6.2 mavenSignifica que apache-maven-3.6.2se crea un atajo maven, y acceso mavenes equivalente a acceso apache-maven-3.6.2.

¿Por qué se necesita un atajo aquí?

Será más conveniente actualizar maven en el futuro.Si necesitamos actualizar maven a la última versión, como 3.7, solo necesitamos descargar 3.7 al directorio actual y luego ejecutar el comando para modificar la dirección del atajo, que es muy conveniente ln -s apache-maven-3.7 maven.

2.2.5 Configurar variables de entorno maven

Agregue las siguientes líneas al final del archivo /etc/profile

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

 2.2.6 Ejecute el siguiente comando para que la variable de entorno surta efecto

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

 2.2.7 Verificar que maven es 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 -vMuestra la información del número de versión de maven. Si la salida es similar a la anterior, ¡felicidades, maven se instaló correctamente!

3. Windows instala maven

3.1, instalar jdk

La instalación de ventanas jdk no se repite aquí

3.2 Instalar maven

3.2.1, descargar 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 Descompresión

Póngalo en el directorio D:\installsoft\maven, como se muestra a continuación

3.2.3, configurar variables de entorno

Cree una nueva variable de entorno M2_HOMEcon el valor:

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

Modifique la variable de entorno PATH y agréguela al valor de PATH%M2_HOME%\bin

3.2.4 Verificar que maven es 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 -vMuestra la información del número de versión de maven. Si la salida es similar a la anterior, ¡felicidades, maven se instaló correctamente!

4. Explicación detallada del principio de funcionamiento de Maven

Este símbolo se usará más adelante en este artículo ~. Permítanme explicar este símbolo primero. Este símbolo representa el directorio del usuario actual.

Por defecto en la ventanaC:\Users\用户名

El usuario root de linux está en /rootel directorio por defecto, y el ~ de otros usuarios corresponde a/home/用户名

En los siguientes artículos, usaremos ~ para representar el directorio de usuarios, y este lugar no se explicará nuevamente.

Ejecute el siguiente comando para ver el efecto.

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:systemDespués de ejecutar el comando anterior , parece que https://repo.maven.apache.orgse están descargando muchas cosas del sitio y, finalmente, se muestra la información de todas las variables de entorno del sistema.

Echemos un vistazo más de cerca al mvn help:systemproceso de ejecución de este comando:

  1. mvn help:systemdespués de correr

  2. El sistema buscará el comando mvn en todos los directorios correspondientes a la variable de entorno PATH, y luego encontrará el archivo D:\installsoft\maven\apache-maven-3.6.2\binejecutable enmvn

  3. Ejecute el archivo mvn, es decir, ejecute el comando mvn

  4. Por lo general, cuando se inicia algún software, habrá un archivo de configuración de inicio, y Maven también lo tiene. Cuando se inicia el comando mvn, irá al ~/.m2directorio para encontrar el archivo de configuración settings.xml. Este archivo es el archivo de configuración de inicio del comando mvn. Dónde ponerlo, etc.), si el archivo ~/.m2no se encuentra en el directorio settings.xml, irá al M2_HOME/confdirectorio para encontrar el archivo de configuración y luego ejecutará el programa maven

  5. El comando mvn va seguido de un parámetro: help:sytem, ¿qué significa esto? Esto significa ejecutar el complemento y luego enviar un comando helpal complemento de ayuda.system

  6. Maven verifica el directorio de caché local (el directorio predeterminado es ~/.m2el directorio) para averiguar si hay un complemento de ayuda; de lo contrario, continúe con los siguientes pasos

  7. Maven irá a un sitio predeterminado (un sitio web [repo.maven.apache.org] proporcionado por apache para maven, esto se llama almacén central) para descargar el complemento de ayuda en el ~/.m2directorio

  8. Ejecute el complemento de ayuda y luego envíe systeminstrucciones al complemento de ayuda. systemDespués de que el complemento de ayuda recibe el comando, genera la información de las variables de entorno locales. Si el sistema no puede encontrar el complemento especificado o envía un comando no reconocido al complemento, se informará un error.

Experimentemos el proceso anterior nuevamente. Todos los comandos en maven se proporcionan en forma de complementos, por lo que la extensión de maven también es bastante fácil.

4.1, nombre del complemento mvn: ayuda 

Lo anterior generará el documento de ayuda del complemento, veamos uno:

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] ------------------------------------------------------------------------

Estos se describirán en detalle más adelante.

5. Algunas configuraciones de Maven

5.1 Configuración del archivo de inicio

Como se mencionó anteriormente mvn, al ejecutar, se cargará el archivo de configuración de inicio settings.xml. Este archivo está en M2_HOME/confel directorio de forma predeterminada. Generalmente, copiaremos uno y lo colocaremos ~/.m2en el directorio. El primero es un archivo de configuración global. Todos los usuarios en general máquina se verá afectada por esta configuración. Esta última es a nivel de todo el usuario, solo el usuario actual se verá afectado por la configuración. Se recomienda usar la configuración a nivel de usuario y ponerla en ~/.m2el directorio en lugar de usar la configuración global, para no afectar el uso de otros usuarios. Además, es conveniente usar y actualizar la versión de maven en el futuro. En circunstancias normales, no necesitamos tocar todo el directorio de instalación de maven. Al actualizar, solo necesitamos reemplazar el archivo de instalación, lo cual es muy conveniente .

5.2, configure el directorio de caché local

Hay una etiqueta en settings.xml localRepository, que puede configurar el directorio de caché local. Los complementos descargados por maven desde el almacén remoto y todos los paquetes jar que usaremos en el futuro se colocarán en este directorio, de la siguiente manera:

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

6. Resumen

  1. Domina el proceso de instalación de maven

  2. ~Indica el directorio de usuario actual

  3. El archivo de configuración de maven settings.xml generalmente se coloca ~/.m2en el directorio para facilitar la actualización de maven y evitar afectar la configuración de otros usuarios.

  4. Comprender el proceso de ejecución del comando mvn 

Supongo que te gusta

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