1 Maven介绍
官方文档:Apache Maven 的本质是一个软件项目管理和理解工具。基于项目对象模型 (Project Object Model,POM) 的概念,Maven 可以从一条中心信息管理项目的构建、报告和文档。
就像Python和Anaconda的关系🤭
可以帮助Javer完成构建、文档生成、报告、依赖、发布、分发等等功能!
可以在 https://mvnrepository.com/open in new window 这个网站上找到几乎所有可用的构件。
2 Maven 坐标
项目中依赖的第三方库以及插件可统称为构件。每一个构件都可以使用 Maven 坐标唯一标识,坐标元素包括:
- groupId(必须): 定义了当前 Maven 项目隶属的组织或公司。groupId 一般分为多段,通常情况下,第一段为域,第二段为公司名称。域又分为 org、com、cn 等,其中 org 为非营利组织,com 为商业组织,cn 表示中国。以 apache 开源社区的 tomcat 项目为例,这个项目的 groupId 是 org.apache,它的域是 org(因为 tomcat 是非营利项目),公司名称是 apache,artifactId 是 tomcat。
- artifactId(必须):定义了当前 Maven 项目的名称,项目的唯一的标识符,对应项目根目录的名称。
- version(必须):定义了 Maven 项目当前所处版本。
- packaging(可选):定义了 Maven 项目的打包方式(比如 jar,war…),默认使用 jar。
- classifier(可选):常用于区分从同一 POM 构建的具有不同内容的构件,可以是任意的字符串,附加在版本号之后。
- scope(可选):使用范围。
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
3 Maven仓库
- 本地仓库:运行 Maven 的计算机上的一个目录,它缓存远程下载的构件并包含尚未发布的临时构件。
settings.xml
文件中可以看到 Maven 的本地仓库路径配置。 - 远程仓库:官方或者其他组织维护的 Maven 仓库。
- 中央仓库:Maven 社区来维护,查询地址open in new window](https://search.maven.org/),开发者可以通过这个地址更快的搜索需要构件的坐标。
- 私服:私服是一种特殊的远程 Maven 仓库,它是架设在局域网内的仓库服务,私服一般被配置为互联网远程仓库的镜像,供局域网内的 Maven 用户使用。
- 其他的公共仓库:有一些公共仓库是为了加速访问(比如阿里云 Maven 镜像仓库)或者部分构件不存在于中央仓库中。
Maven 依赖包寻找顺序:
- 先去本地仓库找,有的话,直接使用。
- 本地仓库没有找到的话,会去远程仓库找,下载包到本地仓库。
- 远程仓库没有找到的话,会报错。
4 Maven生命周期
5 Maven安装
5.1 安装包
注意:安装时可能需要查一下操作系统(比如Win10、Win11)和maven的兼容性问题。
下载安装包:
解压后添加环境变量(系统变量)、并添加到Path中即可:
检查安装:
cmd:
mvn --version
5.2 配置本地仓库和私有仓库位置
settings.xml
,搜索localRepository
。
<localRepository> F:\Maven\apache-maven-3.6.3\repo </localRepository>
搜索mirror,配置阿里云私服:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
5.3 IDEA配置Maven环境
5.4 IDEA创建maven项目
直接new一个maven的project就好啦
解决:Unresolved plugin: org.apache.maven.plugins:maven-jar-plugin:2.4 等四个插件的问题
在Dependencies中加入(可在pom.xml中按alt+insert,然后选择Dependency进行搜索):
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.4</version>
<type>maven-plugin</type>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
<type>maven-plugin</type>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<type>maven-plugin</type>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.3</version>
<type>maven-plugin</type>
</dependency>
写好dependency以后,戳按钮刷新reload,使坐标生效:
5.5 IDEA导入maven项目
- 选择右侧Maven面板(如果没有,在View-Apperance-Tool Window Bars开启),点击+号
- 选中对应项目的pom.xml文件,戳按钮reload。