Maven 管理工具
Maven 是一款基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。
Maven 是使用 Java 语言编写的,因此它和 Java 一样具有跨平台性,这意味着无论是在 Windows ,还是在 Linux 或者 Mac OS 上,都可以使用相同的命令进行操作。
Maven 使用标准的目录结构和默认构建生命周期,因此开发者几乎不用花费多少时间就能够自动完成项目的基础构建工作。
Maven 简化并标准化了项目构建过程。构建成一套完整的生命周期。
Maven的目标
Maven 的主要目标是为为开发人员提供如下内容:
- 一个可重复使用,可维护且易于理解的项目综合模型
- 与此模型进行交互的工具和插件
Maven的特点
Maven的核心思想: 约定大于配置
Maven 具有以下特点:
- 设置简单。
- 所有项目的用法一致。
- 可以管理和自动进行更新依赖。
- 庞大且不断增长的资源库。
- 可扩展,使用 Java 或脚本语言可以轻松的编写插件。
- 几乎无需额外配置,即可立即访问新功能。
- 基于模型的构建:Maven 能够将任意数量的项目构建为预定义的输出类型,例如 JAR,WAR。
- 项目信息采取集中式的元数据管理:使用与构建过程相同的元数据,Maven 能够生成一个网站(site)和一个包含完整文档的 PDF。
- 发布管理和发行发布:Maven 可以与源代码控制系统(例如 Git、SVN)集成并管理项目的发布。
- 向后兼容性:您可以轻松地将项目从旧版本的 Maven 移植到更高版本的 Maven 中。
- 并行构建:它能够分析项目依赖关系,并行构建工作,使用此功能,可以将性能提高 20%-50%。
- 更好的错误和完整性报告:Maven 使用了较为完善的错误报告机制,它提供了指向 Maven Wiki 页面的链接,您将在其中获得有关错误的完整描述。
Maven的作用
- 依赖管理
- 依赖指的就是 我们项目中需要使用的第三方Jar包, 一个大一点的工程往往需要几十上百个Jar包,按照我们之前的方式,每使用一种Jar,就需要导入到工程中,还要解决各种Jar冲突的问题.
- Maven可以对Jar包进行统一的管理,包括快速引入Jar包,以及对使用的 Jar包进行统一的版本控制
- 一键构建项目
- 之前我们创建项目,需要确定项目的目录结构,比如
src
存放Java源码,resources
存放配置文件,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦 - Maven为我们提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目.
- 之前我们创建项目,需要确定项目的目录结构,比如
Maven的下载和安装
1、使用Maven管理工具,我们首先要去官网下载他的安装软件
Maven官方
2、Maven软件的安装
Maven下载后,将Maven解压到一个没有中文空格的路径下:
- bin:存放一些maven的命令
- boot:存放一些maven的本身引导程序,如类加载器
- conf:存放了maven的一些配置文件,如setting.xml文件
- lib:存放了maven本身运行所需的一些jar包
3、Maven环境变量配置
- 配置
MAVEN_HOME
,变量值就是maven安装路径(bin目录之前的一级目录)
- 将
MAVEN_HOME
添加到Path系统变量中
4、Maven软件版本测试
win+R
打开dos窗口,通过mvn -v
命令检查maven是否安装成功,看到maven的版本为3.6.3,即为安装成功。
Maven 配置
配置setting文件
找到你maven的安装路径,进入conf文件夹,用编辑器打开setting.xml文件
- 配置maven本地仓库
maven本地仓库也可以不配置,如果不配置,默认本地仓库地址为C:\Users\Administrator\.m2\repository
配置方法:我们直接找到52行,然后复制第53行代码,粘贴到注释外面(必须粘贴到注释外面,不然是无效代码),最后把<localRepository></localRepository>
中间的路径修改成你自己创建的本地仓库路径就好了
<localRepository>/path/to/local/repo</localRepository>
下面是我的maven本地仓库路径:
<localRepository>D:\Maven\repository</localRepository>
配置maven阿里云镜像
接下来我们需要配置maven镜像,如果我们不配置,我们下载jar包是从国外下载的,下载速度很慢,所以我们配置一下国内的阿里云镜像配置方法:找到未在注释标签内的mirrors
,大约在145行左右,接着我们往mirrors
标签内添加阿里云镜像,然后保存
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
配置maven全局jdk版本
接下来我们可以为maven配置全局的jdk,这样我们在创建maven项目时就会自动使用该jdk版本,我配置的是jdk1.8配置方法:找到未在注释标签内的<profiles></profiles>
,滑到最底部往上找很容易找到,然后在他们之中添加指定jdk代码,和配置阿里云镜像类似。
<!-- java版本 -->
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>