博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用命令行或eclipse管理项目生命周期
阅读量:6529 次
发布时间:2019-06-24

本文共 1507 字,大约阅读时间需要 5 分钟。

 

  概述

  普通项目编码、编译、测试、打包、部署有两种方式:一种是在集成开发环境中直接实施,一种是使用命令(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的坐标:

  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,你懂得。

  

转载于:https://juejin.im/post/5be29a8ce51d4569f24c718b

你可能感兴趣的文章
Asp.Net Core 轻松学-利用日志监视进行服务遥测
查看>>
LightSwitch社区资源搜集
查看>>
Android通讯录查询篇--ContactsContract.Data 二(续)
查看>>
IT人的自我导向型学习:开篇杂谈
查看>>
[原创]BizTalk动手实验系列目录
查看>>
HDU 4611Balls Rearrangement(思维)
查看>>
[LeetCode] Majority Element II
查看>>
minGW, cygwin, GnuWin32【C++的跨平台交叉编译问题】
查看>>
我的Dll(动态链接库)学习笔记(转)
查看>>
应用程序域
查看>>
有向图的拓扑排序算法JAVA实现
查看>>
HTML页面跳转的5种方法
查看>>
李洪强-C语言5-函数
查看>>
开源监控利器grafana
查看>>
Android获取当前时间与星期几
查看>>
jenkins2 multibranch
查看>>
Css定位-定位
查看>>
sort,uniq命令
查看>>
am335x 电容屏驱动添加。
查看>>
rhel-server-7.2-x86_64无法联网(VMware环境)
查看>>