概述linux
普通项目编码、编译、测试、打包、部署有两种方式:一种是在集成开发环境中直接实施,一种是使用命令(windows命令行或linux命令)进行操做。windows
maven项目也不例外,也能够经过命令行或者eclipse等开发环境直接进行生命周期管理。eclipse
maven项目生命周期规范maven
maven项目制定了统一的项目生命周期规范,包括:清理、初始化、编译、测试、打包、集成测试、验证、部署、站点生成。单元测试
咱们来讲点平时用获得的命令究竟是干吗的,在说以前首先得了解下mvn命令如何执行测试
mvn命令执行方法编码
首先得把maven配到环境变量Path中插件
打开CMD命令行命令行
使用cd命令将当前目录切换到Maven工程根目录下cdn
运行命令
若是上面命令行的内容不熟悉,先仍是强烈建议了解下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的坐标:
groupIdcom.panda/groupId
artifactIdprojecta/artifactId
version0.0.1-SNAPSHOT/version
项目B在pom.xml引用项目 A,此时项目A须要执行过mvn install安装,项目B才能再本地仓库找已安装的A。
dependency
groupIdcom.panda/groupId
artifactIdprojecta/artifactId
version0.0.1-SNAPSHOT/version
/dependency
mvn deploy mvn clean deploy
这个就厉害了,不但打包,还将打包的包部署到本地和远程maven私服仓库,这个用的很少,此处不讨论。
eclipse中执行maven生命周期管理
右键项目-Run as,里面就有maven test、maven clean、maven install,你懂得。