Maven es una
基于项目对象模型(POM)用于进行项目的依赖管理、生命周期管理
herramienta de software con
funciones principales:
- Depende de la gestión de paquetes jar
- Gestión del ciclo de vida del proyecto.
- ingeniería de polímeros
Configuración de instalación
Maven está desarrollado en base al lenguaje Java y, por lo tanto, se basa en JDK (se recomienda JDK1.7+)
-
Descargar maven: sitio web oficial , disco de red Baidu
-
No requiere instalación, descomprimirlo, listo para usar de inmediato.
Estructura de directorios:- bin almacena archivos de instrucciones (Maven proporciona una instrucción mvn)
- boot contiene un archivo jar de un marco de carga de clases
- conf contiene el archivo de configuración principal de Maven settings.xml
- lib almacena los archivos jar necesarios para que maven se ejecute
-
Configurar variables de entorno
Estructura del proyecto
proyecto (nombre del proyecto)
– src
– principal (almacenamiento de los archivos fuente del proyecto)
– java (almacenamiento de código java, equivalente al directorio src en proyectos tradicionales)
– recursos (almacenamiento de archivos de configuración y registros de recursos estáticos, equivalente a transferir proyectos web directorio)
– prueba (almacena el código de prueba unitaria del proyecto)
– pom.xml
Gestión de la dependencia del proyecto.
proceso
- Configurar dependencias en pom.xmI en el proyecto
- maven lee el pom.xml del proyecto
- Maven verifica si el almacén local tiene los frascos requeridos por el proyecto y, de ser así, los introduce directamente en el proyecto.
- Si el almacén local no tiene las dependencias requeridas por el proyecto, maven se conectará al almacén remoto para descargar (grid)
- Maven primero guarda el archivo jar descargado del almacén remoto en el almacén local y luego lo referencia desde el almacén local al proyecto.
Introducción al almacén
本地仓库
: Es una carpeta en la computadora local (puede ser cualquier carpeta personalizada)远程仓库
中央仓库
: El almacén proporcionado oficialmente por maven, incluidas todas las dependencias requeridas (no se requiere configuración)公共仓库
: Los almacenes de terceros distintos del almacén central son almacenes públicos, como Aliyun (se requiere configuración)私服
: Almacén Maven construido por la empresa para uso interno.
Configuración del almacén de Maven
/conf/settings.xml
Configurar en
- Configurar almacén local
<localRepository>D:\software\install\apache-maven-3.8.1\repo</localRepository>
- Configurar el repositorio público
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
- Configurar servidor privado
servidor privado
La empresa construye un almacén Mawen para uso interno
- Los desarrolladores deben confiar en la descarga directa desde servidores privados
- Los servidores privados pueden compartir dependencias internas dentro de la empresa: cuando una empresa desarrolla un complemento común (jar), puede publicarlo en el servidor privado y otros desarrolladores que puedan conectarse al servidor privado actual pueden compartir este complemento. -en.
Construcción de servidor privado
Podemos construir servidores privados a través del software especializado de gestión de almacenes Maven. Por ejemplo: Apache Archivo, Nexus
- Descargar Nexus: Disco en la nube de Baidu
- Descomprimir Nexus
- Instalar y ejecutar
- Ingresar
nexus-2.14.5-02/bin
directorio - Abra la línea de comando cmd como administrador y ejecute el comando
- Ingresar
- Iniciar sesión en el nexo
- Iniciar nexo
- Abra el navegador: http://localhost:8081/nexus
- Haga clic en la esquina superior derecha
Log In
Cuenta: admin Contraseña: admin123
- Tipo de almacén
group
: No es un almacén específico, sino un grupo de almacenes (lógico)hosted
: Almacenamiento de archivos dependientes (físicos) en servidores privados.proy
:Almacén del agente, que representa un almacén central/almacén público (lógico)
Configurar el almacén de proxy
Configurar servidor privado
settings.xml
En la etiqueta de servidores del archivo maven
<!-- 配置连接私服所需的帐号和密码 -->
<servers>
<server>
<id>nexus-public</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<!-- repository 和 pluginRepository 的 id 子标签的值,要和上面配置的scrver的id子标签的值一致 -->
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus-public</id>
<name>nexus release snapshot repository</name>
<url>http://192.168.10.125:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus-public</id>
<url>http://192.168.10.125:8081/nexus/content/groups/public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- activeProfiles配置激活profile -->
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>