Maven的基本用法

阅读更多
Maven好几年前就成为Java企业级开发的标配了,不懂Maven,你都不好意思说你是Java开发者。甚至像Spring、Hibernate等开源框架早都已经用上更新的Gradle作为项目依赖管理工具。

笔者的博文也用Maven来描述jar依赖配置很久了,本文主要简单总结一下Maven的基本用法,以供自己博文中引用,给没学过Maven的读者参考参考。

一、Maven的安装
二、Maven的生命周期
三、Maven的配置文件settings.xml
四、Maven项目的配置文件pom.xml

一、Maven的安装
1、首先去Apache的Maven官网下载最新版本的Maven: http://maven.apache.org/download.cgi

Maven的基本用法_第1张图片

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

Maven的基本用法_第2张图片

配置环境变量Path为:%M2_HOME%\bin

Maven的基本用法_第3张图片

4、验证Maven安装
windows下打开cmd,执行mvn -version



发现提示没找到JAVA_HOME,那么配置一下环境变量JAVA_HOME

Maven的基本用法_第4张图片

配置好JAVA_HOME变量后,重新打开cmd执行mvn –version

Maven的基本用法_第5张图片

至此,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中会用到很多。
标签确定一个maven项目的公司名或组织名,一般使用该公司或组织的域名反转
标签确定一个maven项目的项目名或模块名
标签确定一个maven项目的版本
以笔者目前的博文示例项目为例
org.jisonami
		Jisonami2
	0.1.1


2、 maven项目的父项目
标签确定一个maven项目的父项目,该maven项目会继承自父maven项目所有属性和依赖配置,在本项目中配置的同名属性或依赖会覆盖父项目中的配置
标签中使用前面介绍的maven坐标三元素确定父maven项目
以继承spring-boot-starter-parent项目为例

			org.springframework.boot
			spring-boot-starter-parent
			1.3.3.RELEASE
	


3、 maven项目的属性
maven项目的属性可以看成是编程语言中的变量,使用标签定义一些属性,此处定义的属性可以在在pom.xml文档中使用el表达式引用,即${name}的形式引用名为name的属性,属性一般用于maven坐标中的标签,比如

		11.2.0.3


4、maven项目的依赖配置
Maven项目的依赖配置使用配置,下面嵌套多个标签,每个标签配置一个依赖,每个依赖使用maven坐标描述。如下所示:
< dependencies>

		
			com.oracle
			ojdbc6
			${oracle6.version}
		
	


5、maven的构建配置
maven的构建配置在标签下配置,我们主要配置一下maven插件,比如使用spring-boot-maven-plugin,则如下配置:

		
			
			
				org.springframework.boot
				spring-boot-maven-plugin
1.3.3.RELEASE
			
		
	


以上就是我经常使用的maven特性,更详细的配置参考我的Github项目Jisonami2: https://github.com/jisonami/Jisonami2
  • Maven的基本用法_第6张图片
  • 大小: 37.2 KB
  • Maven的基本用法_第7张图片
  • 大小: 15.7 KB
  • Maven的基本用法_第8张图片
  • 大小: 17.4 KB
  • Maven的基本用法_第9张图片
  • 大小: 2.8 KB
  • Maven的基本用法_第10张图片
  • 大小: 6.4 KB
  • Maven的基本用法_第11张图片
  • 大小: 15.7 KB
  • 查看图片附件

你可能感兴趣的:(maven,java)