笔者的博文也用Maven来描述jar依赖配置很久了,本文主要简单总结一下Maven的基本用法,以供自己博文中引用,给没学过Maven的读者参考参考。
一、Maven的安装
二、Maven的生命周期
三、Maven的配置文件settings.xml
四、Maven项目的配置文件pom.xml
一、Maven的安装
1、首先去Apache的Maven官网下载最新版本的Maven: http://maven.apache.org/download.cgi
Windows下下载apache-maven-3.3.9-bin.zip
linux下下载apache-maven-3.3.9-bin.tar.gz
maven最新版本是3.3.9,我用的是3.3.3,懒得下载了,不要在意这些细节。
2、将下载的zip压缩包解压到某个目录
这里将Maven解压到D:\SDK\Maven\apache-maven-3.3.3目录
3、将解压后的Maven目录配置到环境变量中去
以Maven目录为D:\SDK\Maven\apache-maven-3.3.3为例,即如下图所示
配置环境变量M2_HOME为:D:\SDK\Maven\apache-maven-3.3.3
配置环境变量Path为:%M2_HOME%\bin
4、验证Maven安装
windows下打开cmd,执行mvn -version
发现提示没找到JAVA_HOME,那么配置一下环境变量JAVA_HOME
配置好JAVA_HOME变量后,重新打开cmd执行mvn –version
至此,maven安装成功了。
二、Maven的生命周期
Maven的生命周期执行命令格式:mvn 任务名
Maven会执行生命周期内的所有在该任务之前的任务
如:mvn clean,会执行pre-clean和clean两个任务。
Maven有三套独立的生命周期,分别是clean、default、site。
clean的生命周期如下(mvn clean)
pre-clean -> clean -> post-clean
pre-clean:执行clean之前需要完成的任务
clean:清理上一次构建生成的文件
post-clean:执行clean之后需要立刻完成的任务
default的生命周期如下(这个是开发者用得最多的)
compile -> test -> package -> install -> deploy
compile:编译项目
test:测试项目
package:打包项目
install:发布项目到本地maven仓库
deploy:发布项目到远程maven仓库
site的生命周期如下
pre-site -> site -> post-site -> site-deploy
pre-site:执行site之前需要完成的任务
site:生成项目的文档站点
post-site:执行site之后需要完成的任务
site-deploy:将生成的文档站点发布到远程服务器
在mavn的这三套生命周期中,开发者还可以自定义插件,实现在生命周期的任意阶段添加任务。对我们开发者而言,一般是不需要编写maven插件的。
三、Maven的配置文件settings.xml
在maven的安装目录下,conf目录下的settings.xml是maven的全局配置文件,主要配置maven的本地仓库路径,插件组,maven的远程服务器和maven仓库的镜像,还有一些maven的全局设置。
1、配置maven的本地仓库路径(默认是操作系统用户下的.m2目录)
D:\SDK\Maven\m2_repository
2、插件组
我平时不用,如用到自行google
3、配置maven的远程服务器
deploymentRepo repouser repopwd
4、配置maven仓库的镜像
mirrorId repositoryId Human Readable Name for this Mirror. http://my.repository.com/repo/path
我的maven常用镜像参考: http://jisonami.iteye.com/blog/2298592
5、maven的一些全局配置
这个我也不常用,就是在
四、Maven项目的配置文件pom.xml
Maven最关键的部分来了,也是我们用的最多的配置文件pom.xml,每个maven项目都有一个pom.xml在其根目录下,用于描述该项目的jar依赖配置。
1、 确定一个Maven项目的坐标
这是Maven最基本的配置,在pom.xml中会用到很多。
以笔者目前的博文示例项目为例
org.jisonami Jisonami2 0.1.1
2、 maven项目的父项目
以继承spring-boot-starter-parent项目为例
org.springframework.boot spring-boot-starter-parent 1.3.3.RELEASE
3、 maven项目的属性
maven项目的属性可以看成是编程语言中的变量,使用
11.2.0.3
4、maven项目的依赖配置
Maven项目的依赖配置使用
< dependencies>com.oracle ojdbc6 ${oracle6.version}
5、maven的构建配置
maven的构建配置在
org.springframework.boot spring-boot-maven-plugin 1.3.3.RELEASE
以上就是我经常使用的maven特性,更详细的配置参考我的Github项目Jisonami2: https://github.com/jisonami/Jisonami2