或许总要彻彻底底地绝望一次
才能重新再活一次
—— 24.11.20
maven在如今的idea中已经实现自动配置,不需要我们手动下载
一、Maven的简介和快速入门
Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建测试、打包和发布项目,大大提高了开发效率和质量。
它可以帮助开发者管理项目的构建、依赖关系和文档生成等诸多方面。 - 其核心功能是自动化构建,能够将项目的源代码、资源文件等编译、测试、打包成可发布的软件包,如JAR(Java Archive)、WAR(Web Application Archive)等格式。同时,Maven通过一个中央仓库(Maven Central Repository)和一系列远程仓库来管理项目的依赖,开发者可以轻松地在项目中引入第三方库。
功能
项目构建
项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程
Maven 可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期Maven 可以确保每一个构建过程都遵循同样的规则和最佳实践。
同时,Maven 的插件机制也使得开发者可以对构建过程进行扩展和定制。
主动触发构建,只需要简单的命令操作即可。
依赖管理
Maven 可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。
通过 Maven,我们可以方便地维护项目所依赖的外部库,而我们仅仅需要编写配置即可。
二、Maven的基本概念
POM(Project Object Model):
这是Maven的核心概念,是一个XML文件(通常是pom.xml),用于描述项目的基本信息、构建配置和依赖关系等。在POM文件中,可以定义项目的坐标(groupId、artifactId和version),这类似于项目的唯一标识符,用于在仓库中区分不同的项目。同时,POM还可以指定项目的父项目、模块结构、插件配置和依赖列表等内容。
Maven的作用
1.项目构建
2.项目管理
依赖管理
Maven通过在POM文件中添加 `<dependency>` 元素来管理项目所依赖的其他库。
例如,一个Spring Boot项目想要使用MySQL数据库驱动,就可以在pom.xml文件中添加如下依赖:
<dependency><groupId>mysql</groupId><artifactId>mysql - connector - java</artifactId><version>8.0.30</version>
</dependency>
当构建项目时,Maven会自动从本地仓库或远程仓库下载所需的依赖,并将它们添加到项目的类路径中。
三、idea自动配置maven
Lifecycle文件夹中主要是maven的一些命令
四、maven依赖传递
使用maven的话,就可以避免管理所需依赖的关系。我们只需要在pom文件中,定义直接依赖就可以了,由于maven的依赖具有传递性,所以会自动把所依赖的其他jar包也一起导入
下载插件Maven Helper可以帮助我们更好的使用Maven
五、Maven仓库
Maven的xml坐标,通过groupId、artifactId、version的配置来配置Maven
Maven有本地仓库、中央仓库、私有仓库
Maven中的jar包引用顺序是:本地仓库 ——> 私有仓库(若存在) ——> 中央仓库(全球唯一)
jar包版本选择
1.看需求
2.尽量避免有漏洞的
3.尽量选择使用人数多的,稳定版本