举例讲解Maven的使用及生命周期
通过实际对maven进行操作讲解maven的使用
maven安装
maven官方下载地址
http://maven.apache.org/download.cgi
配置环境变量
==注意:安装maven之前,必须先确保你的机器中已经安装了JDK,否则无法编译==
- 解压下载的压缩包
- 添加环境变量MAVEN_HOME,值为解压后的文件夹的路径,例如放在D盘(新装的时候应该是新建,我这里已经装好,只是为了举例),如图所示:
- 在Path环境变量的变量值末尾添加
%MAVEN_HOME%\bin
- 在cmd输入
mvn –version
如果出现maven和jdk的版本信息,说明配置成功,如下图:
启用代理访问
依据自身网络环境决定是否添加代理,如果需要添加,在 Maven 的配置文件中设置代理服务器:{MAVEN_HOME}/conf/settings.xml,找到下面这段,改成你的代理服务器。
<proxies>
<!-- proxy
| Specification for one proxy, to be used in connecting to the network.
|
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
--></proxies>
把注释去掉,host这里填写代理服务器的地址(可以用IP)以及port端口,如果需要用户名/密码认证,则填写username/password节点,否则username/password这二个节点去掉,nonProxyHosts表示某些地址不需要经过代理服务器,多个地址之间用|分隔,支持通配符,比如172.156.*
本地仓库配置
从中央仓库下载的jar包,都会统一存放到本地仓库中。我们需要配置本地仓库的位置。默认是在c盘的用户下,但一般我们都不用这个地址。
打开{MAVEN_HOME}/conf/settings.xml,修改仓库地址:
<localRepository>D:\maven\m2\repository</localRepository>
可以修改成这样,便于识别就好。
使用命令行创建基本 java Maven项目
在创建之前先了解一下Maven的版本规范,对创建项目也是有帮助的,创建项目是会用得到。
maven使用如下几个要素来唯一定位某一个输出物:
groudId:
团体、组织的标识符。团体标识的约定是,它以创建这个项目的组织名称的逆向域名(reverse domain name)开头。一般对应着JAVA的包的结构。例如org.apache
artifactId:
单独项目的唯一标识符。也可以理解为项目名称。比如我们的tomcat, commons等。不要在artifactId中包含点号(.)。
version:
一个项目的特定版本。
packaging:
项目的类型,默认是jar,描述了项目打包后的输出。类型为jar的项目产生一个JAR文件,类型为war的项目产生一个web应用。
maven有自己的版本规范,一般是如下定义 <major version>.<minor version>.<incremental version>-<qualifier> ,比如1.2.3-beta-01。要说明的是,maven自己判断版本的算法是major,minor,incremental部分用数字比较,qualifier部分用字符串比较,所以要小心 alpha-2和alpha-15的比较关系,最好用 alpha-02的格式。
maven在版本管理时候可以使用几个特殊的字符串 SNAPSHOT,LATEST,RELEASE。比如"1.0-SNAPSHOT"。各个部分的含义和处理逻辑如下说明:
SNAPSHOT
这个版本一般用于开发过程中,表示不稳定的版本。
LATEST
指某个特定构件的最新发布,这个发布可能是一个发布版,也可能是一个snapshot版,具体看哪个时间最后。
RELEASE
指最后一个发布版。
创建Maven项目(第一种)
- 先创建项目的根目录,比如F:\mvnTest,命令行窗口下输入下面两个命令:
cd /d F:\mvnTest
mvn archetype:generate
- 这里会执行一会,从网络获取项目模板列表,等到如下图,直接回车,
-
出现下图,继续回车,
出现下图,填写项目基本信息,如下图,
- 确认这些信息之后,出现下图就表示项目创建成功,如下图,
6.项目创建成功后,观察工程结构,这个生成项目就是标准的maven 项目。
这是全世界maven项目的通用约定,请记住这些固定的目录结构。
创建Maven项目(第二种)
使用命令:
mvn archetype:generate -DgroupId=pertrochina.xjyt -DartifactId=mvnTest2 -DinteractiveMode=false
编译项目
先进入刚才创建项目的根目录:
cd /d F:\mvnTest\mvnTest
mvn clean compile
或者mvn compile
进行编译,如下图显示,成功编译。
单元测试
使用命令:mvn clean test
或者mvn test
如果单元测试不通过,会提示出错信息,注意看输出。
==注:从输出上可以发现,test前,会先执行compile,即先编译,再执行单元测试.==
项目打包
通常我们会把java项目打包成jar包或war包,maven中打包的命令为
mvn clean package
或者mvn package
运行完后,会在target目录下生成jar包
==注:从输出 可以发现,package前,会先执行compile,再执行test,最后才是package打包.==
项目运行
进入F:\mvnTest\mvntest\target\classes,运行下面的命令:
java pertrochina.xjyt.App
在这里java项目就可以使用了。需要什么就添加就可以了。