一,简介和安装
1,是什么?
Maven是一款依赖管理和项目构建的工具。
说白了就是管理jar包,包括jar包的引入、构建、打包、发布等。
2,做什么?
清理、编译、测试、报告、打包、部署
3,英文解释
pom 项目对象模型 project object model
dom 文档对象模型 document object model
4,三种jar包
自己工程安装到本地的jar包、远程仓库下载的jar包、支持maven本身工作所用到的jar包
5,maven官网下载
apache-maven-3.9.6-bin.zip 下载完成解压即可
-
apache是组织名称
-
maven是软件名称
-
3.9.6是版本号
-
bin是二进制文件、src是源码文件
-
zip是windows系统的压缩包后缀名、tar.gz是linux系统的压缩包后缀名
6,安装环境
必须安装符合maven版本最低要求的java环境,并且配置了JAVA_HOME环境变量
7,目录介绍
-
bin:含有Maven的相关脚本
-
boot:含有类加载框架
-
conf:含有核心配置文件,如logging日志、settings.xml
-
lib:含有Maven运行时所需的java类库
-
LICENSE许可证、NOTICE通告、README.txt介绍
8,配置环境变量
1. MAVEN_HOME
maven的安装目录
2. Path
maven的安装目录下面的bin目录,Path配置的作用是任何一个目录都可以访问到maven
最好引用MAVEN_HOME,写成%MAVEN_HOME%\bin
9,验证安装是否成功
# 输出安装的版本信息 mvn -v
二,settings文件
1,配置文件位置
maven安装目录\conf\settings.xml
2,指定本地仓库
<!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository 默认仓库目录 --> <localRepository>D:\maven-repository</localRepository>
3,配置镜像仓库
<mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>mirror</id> <mirrorOf>central,jcenter,!rdc-releases,!rdc-snapshots</mirrorOf> <name>mirror</name> <url>https://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors>
/repository/public和/nexus/content/groups/public/有什么区别?
https://maven.aliyun.com/repository/public
和 https://maven.aliyun.com/nexus/content/groups/public/
是阿里云Maven仓库的不同访问路径,它们在功能和用途上有所差异:
-
https://maven.aliyun.com/repository/public
-
这个URL指向的是阿里云Maven仓库中的一个特定仓库区域,即“public”仓库。在阿里云Maven服务中,“public”仓库通常是指代理或镜像了Maven中央仓库(Maven Central)的内容,也就是说,它专门用于提供官方Maven中央仓库中的所有公开可用的开源Java构件。
-
-
https://maven.aliyun.com/nexus/content/groups/public/
-
这个URL则是指向阿里云Nexus仓库的一个聚合组或者称为仓库组,名为“public”。在Nexus仓库管理系统中,可以创建多个实际仓库,并将它们组合到一个组内,这样组内的仓库会被视为一个整体。当配置为镜像时,“public”组可能包含了多个实际仓库的集合,一般情况下会包含“public”仓库本身以及其他可能的仓库,目的是为了提供一站式的服务,用户只需配置这一个地址,就可以访问到组内所有仓库的资源,包括但不限于Maven中央仓库的镜像。
-
总结来说,直接访问repository/public
通常是针对单一仓库,而nexus/content/groups/public/
则更倾向于提供一个综合入口,简化用户的配置,使得开发者能够通过一个统一的地址获取到多个仓库中的所有依赖项。对于实际使用Maven构建工具的开发者而言,在settings.xml中配置镜像时,通常会选择后者,以便高效地利用阿里云提供的公共Maven仓库服务。