一、Maven是什么?
Maven 是一个项目管理和整合工具。Maven 为开发者提供了一套完整的构建生命周期框架。开发团队几乎不用花多少时间就能够自动完成工程的基础构建配置,因为 Maven 使用了一个标准的目录结构和一个默认的构建生命周期。
在有多个开发团队环境的情况下,Maven 能够在很短的时间内使得每项工作都按照标准进行。因为大部分的工程配置操作都非常简单并且可复用,在创建报告、检查、构建和测试自动配置时,Maven 可以让开发者的工作变得更简单。
总的来说,Maven 简化了工程的构建过程,并对其标准化。它无缝衔接了编译、发布、文档生成、团队合作和其他任务。Maven 提高了重用性,负责了大部分构建相关的任务。
更直白一点就是:你可以使用Maven让你的项目摆脱因为JAR变得繁重的烦恼!!!!
二、Maven的功能
- 构建
- 文档生成
- 报告
- 依赖:一般的 web 工程中 jar 包所占空间庞大,而 maven 开发的 web 项目 jar 包不在项目中,而是在 jar 包仓库中,通过 jar 包的坐标可以找到所需要的 jar 包,多个 web 工程可以公用一个 jar 包仓库,从而提高了代码可重用。
- SCMs
- 发布
- 分发
- 邮件列表
三、Maven POM
POM 代表工程对象模型。它是使用 Maven 工作时的基本组建,是一个 xml 文件。它被放在工程根目录下,文件命名为 pom.xml。
POM 也包含了目标和插件。当执行一个任务或者目标时,Maven 会查找当前目录下的 POM,从其中读取所需要的配置信息,然后执行目标。能够在 POM 中设置的一些配置如下:
- project dependencies——项目依赖项
- plugins——插件
- goals——目标
- build profiles——配置文件
- project version——版本
- developers——开发者
- mailing list——目录
创建 POM 之前,我们首先确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是工程的唯一标识,每个工程应该只有一个 POM 文件。
POM.xml 的根元素是 project,它有三个主要的子节点: - groupId:这是工程组的标识。它在一个组织或者项目中通常是唯一的。
- artifactId:这是工程的标识。它通常是工程的名称。
- version:这是工程的版本号。在 artifact 的仓库中,它用来区分不同的版本。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.it</groupId>
<artifactId>mtest</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
四、Maven的环境配置
4.1 配置环境变量
如果还没有配置JDK的话先配置好JDK1.8,因为之后JUnit和Spring都可以兼容这个版本,否则就和我一样,找错误找了半天,最后重装 JDK1.8 才解决了JUnit测试怎么都不通过的情况!
可以参考我这个博客配置JDK哦!
在系统变量中添加
- MAVEN_HOME = D:\maven\apache-maven-3.6.3
- PATH = %MAVEN_HOME%\bin;
- MAVEN_OPTS = -Xms128m -Xmx512m -Duser.language=zh -Dfile.encoding=UTF-8
使用 mvn -v 查看maven成功配置后的版本
4.2 修改Maven仓库路径
在安装maven的同级目录下新建 repository 文件夹 和 setting.xml
setting.xml 的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<pluginGroups />
<proxies />
<servers />
<localRepository>D:/server/maven/repository</localRepository>
<mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
<mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</mirror>
<mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>google-maven-central</id>
<name>Google Maven Central</name>
<url>https://maven-central.storage.googleapis.com
</url>
<mirrorOf>central</mirrorOf>
</mirror>
<!-- 中央仓库在中国的镜像 -->
<mirror>
<id>maven.net.cn</id>
<name>oneof the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
五、在IDEA搭建 Maven 项目
IDEA 自带了apache maven,默认使用的是内置maven,所以我们可以配置默认的setting,来调整一下配置,比如远程仓库地址,本地编译环境变量
配置搞定啦!!!!然后创建一个简单的Maven项目