手记

maven一波流(7)——使用命令行或eclipse管理项目生命周期

概述

普通项目编码、编译、测试、打包、部署有两种方式:一种是在集成开发环境中直接实施,一种是使用命令(windows命令行或linux命令)进行操作。

maven项目也不例外,也可以通过命令行或者eclipse等开发环境直接进行生命周期管理。

maven项目生命周期规范

maven项目制定了统一的项目生命周期规范,包括:清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成。

我们来说点平时用得到的命令到底是干嘛的,在说之前首先得了解下mvn命令如何执行

mvn命令执行方法

首先得把maven配到环境变量Path中

打开CMD命令行

使用cd命令将当前目录切换到Maven工程根目录下

运行命令

如果上面命令行的内容不熟悉,先还是强烈建议了解下windows命令行的。

mvn clean

清理项目,相当于删除已经生成的东西,没啥大用

mvn test

编译项目,并运行测试代码,如果编译项目失败就提示失败,如果编译成功运行测试(例如junit单元测试),并给出测试结果。

这个还是比较常用的,强烈建议maven构建的项目测试之类的各种动作都用maven来做

mvn package & mvn clean package & mvn clean package -Dmaven.test.skip=true

mvn package 打包。一般打成jar或war包。如果加上-Dmaven.test.skip=true表示跳过测试。(不同的项目具体打包之前需要的pom.xml配置还有所不同,包括需要的依赖和插件,此处不再具体论证,后续收集下各类项目打包方式集中说明下)。

OK,还有一个需要注意的问题:建议直接写mvn clean install,这样先清理再安装,意义很简单:有时候你发现某个目录下软件出问题,可以删除重新安装。你这个项目可能因为种种原因之前生成有问题,不如直接清理了重新生成。

mvn install & mvn clean install

这个是重点,很多童鞋不使用该命令,觉得没用,直接测试通过就可以打包部署了,不知道install安装是干啥的。

实际上install安装的意义是:将打包的组件安装到本地依赖仓库中,这样其他项目就可以调用本项目了。

比如咱们开发了项目 A、项目B。

项目A的坐标:

	<groupId>com.panda</groupId>
	<artifactId>projecta</artifactId>
	<version>0.0.1-SNAPSHOT</version>

项目B在pom.xml引用项目 A,此时项目A需要执行过mvn install安装,项目B才能再本地仓库找已安装的A。

	<dependency>
	<groupId>com.panda</groupId>
	<artifactId>projecta</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	</dependency>
mvn deploy & mvn clean deploy

这个就厉害了,不但打包,还将打包的包部署到本地和远程maven私服仓库,这个用的不多,此处不讨论。

eclipse中执行maven生命周期管理

右键项目-Run as,里面就有maven test、maven clean、maven install,你懂得。

3人推荐
随时随地看视频
慕课网APP