Maven介绍:
Maven是属于apache软件基金会下一个开源免费的项目,是跨平台的项目管理工具, Maven采用了一种被称之为Project Object Model (POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理,可以在代码进行部署的过程中自动解决项目中代码的依赖环境,需要从maven的镜像仓库中进行下载依赖环境,通常下载比较慢,企业中会在公司内部搭建nexus(私服),将构建项目中的依赖环境保存到nexus服务器中,提高访问速度。
POM项目对象模型,是Maven工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖等等
执行任务或目标时,Maven会在当前目录中查找POM。读取POM,获取所需的配置信息,然后执行目标
POM中可以指定以下配置:项目依赖、插件、执行目标、项目构建profile、项目版本、项目开发列表、相关邮件列表信息
Mavne功能:
mavne模型的Java项目对源代码、单元测试代码、资源、jar包等有规范和目录规
解决项目间的依赖关系、版本不一致、版本冲突问题
合理的jar管理机制
应用场景: 从运维角度理解
- 原来项目中的jar包必须手动复制、粘贴到WEB-INF/lib项目下,而借助maven,可以将jar包仅仅保存在仓库中,有需要使用的工程只需要引用这个文件,并不需要重复复制到工程中
- 原来的项目中所需要的jar包都是提前下载好的,而maven在联网状态下会自动下载所需要的jar包。首先在本地仓库中找,找不到就在网上进行下载
- 原来的项目中一个jar包所依赖的其他jar包必须手动导进来,而maven会自动将被依赖的jar包导进来
- 原来的项目一个项目就是一个工程,而借助maven可以讲一个项目拆分成多个工程
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
关于仓库
本地仓库
maven会将工程依赖的构件(jar包)从远程下载到本机一个目录下管理,每个电脑默认的仓库是在 "用户家目录/.m2/repository"
第三方仓库
第三方仓库又称为内部中心仓库,也成为私服
私服:一般是由公司自己设立的,只为本公司内部共享使用。它既可以作为公司内部构件协作和存档,也可以作为公用类库镜像缓存,减少在外部访问和下载的频率(使用了私服就减少了对中央仓库的访问)
中央仓库
maven内置了远程公用仓库:http://repo1.maven.org/maven2 这个公共仓库是由maven自己维护,里面有大量的常用类库,并包含了世界上大部分流行的开源项目构件,目前是以Java为主。工程以来的jar包如果本地仓库没有,默认从中央仓库下载。
安装Maven,需要依赖jdk1.8版
[root@localhost ~]# rpm -qa | grep jdk
[root@localhost ~]# rpm -e java-1.8.0-openjdk-headless --nodeps
[root@localhost ~]# tar zxf jdk-8u211-linux-x64.tar.gz -C /usr/local/
[root@localhost ~]# vim /etc/profile
在最后一行添加
export JAVA_HOME=/usr/local/jdk1.8.0_211
export JRE_HOME=/usr/local/jdk1.8.0_211/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
[root@localhost ~]# tar zxf apache-maven-3.6.1-bin.tar.gz
[root@localhost ~]# mv apache-maven-3.6.1 /usr/local/maven
修改环境变量将maven的命令天添加到系统环境变量中
[root@localhost ~]# vim /etc/profile
在最后一行添加
export MAVEN_HOME=/usr/local/maven
export PATH=$PATH:$MAVEN_HOME/bin
[root@localhost ~]# source /etc/profile
测试maven是否安装成功
[root@localhost ~]# mvn -v #只要出现下面内容manven就安装成功了