1. El entorno de este artículo
-
jdk1.8
-
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.gz
en 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
bin: almacenar archivos ejecutables
conf: almacenar archivos de configuración maven
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 maven
Significa queapache-maven-3.6.2
se crea un atajomaven
, y accesomaven
es equivalente a accesoapache-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 -v
Muestra 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_HOME
con 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 -v
Muestra 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 ventana
C:\Users\用户名
El usuario root de linux está en
/root
el 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:system
Después de ejecutar el comando anterior , parece que https://repo.maven.apache.org
se 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:system
proceso de ejecución de este comando:
mvn help:system
después de correrEl 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\bin
ejecutable enmvn
Ejecute el archivo mvn, es decir, ejecute el comando mvn
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
~/.m2
directorio para encontrar el archivo de configuraciónsettings.xml
. Este archivo es el archivo de configuración de inicio del comando mvn. Dónde ponerlo, etc.), si el archivo~/.m2
no se encuentra en el directoriosettings.xml
, irá alM2_HOME/conf
directorio para encontrar el archivo de configuración y luego ejecutará el programa mavenEl comando mvn va seguido de un parámetro:
help:sytem
, ¿qué significa esto? Esto significa ejecutar el complemento y luego enviar un comandohelp
al complemento de ayuda.system
Maven verifica el directorio de caché local (el directorio predeterminado es
~/.m2
el directorio) para averiguar si hay un complemento de ayuda; de lo contrario, continúe con los siguientes pasosMaven 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
~/.m2
directorioEjecute el complemento de ayuda y luego envíe
system
instrucciones al complemento de ayuda.system
Despué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/conf
el directorio de forma predeterminada. Generalmente, copiaremos uno y lo colocaremos ~/.m2
en 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 ~/.m2
el 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
-
Domina el proceso de instalación de maven
-
~
Indica el directorio de usuario actual -
El archivo de configuración de maven settings.xml generalmente se coloca
~/.m2
en el directorio para facilitar la actualización de maven y evitar afectar la configuración de otros usuarios. -
Comprender el proceso de ejecución del comando mvn