maven系列
Maven的背景
项目的演变
1 。最开始一个项目,项目的jar包是直接放在项目lib文件夹下的,需要别的依赖,在单独新建文件夹。
随着项目演变的过程中,依赖会特别的多,最终有可能导致,生产开发依赖版本不一致,研发与研发之间的版本不一致,造成版本冲突。然后项目中依赖会越来越多,导致项目十分的臃肿。
2 。项目在开发过程中,每天需要编译,打包,测试。有很多重复的工作要做。通过maven我们就可以缩减这些重复的工作,全部交给maven来完成。
Maven的作用
- 解决重复构建的问题,帮助我们编译项目。
- 解决了依赖冲突,不一致的问题,帮助我们集中管理依赖
- 提供了中央仓库, 涵盖了大部分开源的项目信息,帮助我们快速搜索依赖
- 约定优于配置,帮助我们统一了项目的规范
Maven的安装
maven是运行在jdk之上的,先检查是否安装jdk
java -version
安装 Maven
http://maven.apache.org/index.html
bin,zip是安装包。src.zip是源码目录,可以通过编译获取maven的安装包
-
将安装目录解压到本地指定文件夹
-
配置环境变量
- windows
在环境变量中新建 变量名为M2_HOME,变量值为 本地安装路径的 D:\maven\apache-maven-3.2.3
在系统变量中找到 Path的变量,末尾追加 %M2_HOME%\bin; - linux
vim /etc/profiel
加入以下配置 export MAVEN_HOME=/app/jenkins/maven3 path后追加 $JAVA_HOME/bin - mac
在启动脚本加入以下配置 .bash_login
export M2_HOME=/usr/local/maven
export PATH=/usr/local/maven/bin:/usr/local/bin:/usr/local/maven/bin:/usr/
- windows
-
安装完成检验,显示mvn版本信息表示安装成功
mvn --version
Maven安装目录解析
- bin
存放maven运行的脚本 mvn.bat,一个是windows的脚本,一个是linux的脚本,命令行执行的命令就相当于调用这些脚本。还有一个debug的脚本用来调试 - boot
boot文件下有一个 plexus-classworlds-2.5.1.jar ;是maven的一个类加载框架。Maven使用该jar包
加载其他类库 - conf
conf下边有两个配置文件,一个比较核心settings.xml.能配置maven的一些全局配置信息,
另一个文件是 log 日志配置文件,可以调整日志输出格式 - lib
lib下边放了maven的运行类库,包括超级POM, - 其它
Readme.txt 记录maven的官文文档地址,和一个简要的使用指南,帮助用户快速上手maven
Notice 记录了maven使用的第三方类库
Licence 记录maven的开源许可信息