maven介绍
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
maven下载
URL地址: https://maven.apache.org/download.cgi
maven路径要求
程序猿操守: 路径不能有中文/空格/特殊字符/不要放到C盘/. 使用C语言编辑的软件容易产生问题.
maven是用JAVA语言开发的!!!
Maven工作原理
角色划分
本地仓库: 在本机中保存jar包的文件目录
远程仓库: maven官网维护的jar包信息.其中解决了版本冲突的问题. 几乎维护了所有的开源jar包!!
私服镜像: 为了让本地用户快速的获取jar包.使用镜像服务器提前下载jar包.速度更快.
maven的工作原理
1.镜像服务器搭建时,需要定期拉去远程服务器中的jar包.
2.获取到的包.保存到镜像服务器本地.方便用户以后获取.
3.用户使用jar包时,先检查本地仓库中是否有包,如果没有 则连接私服镜像获取jar包. 如果有,则直接使用.
4.将jar包保存到本地之后,供用户使用.
maven的配置
配置本地仓库的位置.
配置私服镜像服务器
<!--阿里云的私服镜像服务器-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<!--阿里云的私服镜像服务器-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
IDEA整合Maven
说明: IDEA中每次打开一个新的窗口,需要重新配置maven!!!
创建第一个maven项目
1.URL地址: https://start.aliyun.com
2.指定坐标
3.确定版本/添加依赖
关于maven项目报错说明
兼容性问题
IDEA的版本,不要太低.至少2020以上, 兼容 maven 3.8.x
网络问题
1.要求下载jar包文件时,不能使用手机热点!
2. 检查maven的配置 1.配置本地仓库 2.配置私服镜像
3. 如果私服镜像链接有问题 切换如下的链接
<!--阿里云的私服镜像服务器-->
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
关于坐标说明
maven坐标的意义
<!--1.定义maven的坐标
1.1组id 一般采用公司域名倒写的方式 www.tedu.cn
1.2项目名 项目名称必须唯一
1.3版本号 指定项目的版本的.
问题: maven的坐标有什么意义?
答:
1.maven中央仓库采用坐标的形式管理所有的jar包.
2.可以根据坐标的位置,唯一定位jar包.
3.可以根据坐标.依赖其它项目!!!.
-->
<groupId>com.jt</groupId>
<artifactId>spring_demo1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>spring_demo1</name>
<description>spring_demo1</description>
pro文件说明
<!--表示当前maven的配置信息-->
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<!--以后springboot的平台的版本就是2.3.7-->
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>