Maven clean基本命令
转自--------------------------------------https://www.cnblogs.com/hiver/p/7850954.html
假设现有项目结构如下
dailylog-parent
|-dailylog-common
|-dailylog-web
- 三个文件夹处在同级目录中
- dailylog-web依赖dailylog-common
- dailylog-parent管理dailylog-common和dailylog-web。
常见参数:
1. 在dailylog-parent目录运行`mvn clean install -pl org.lxp:dailylog-web -am`,结果以下是在maven-3.3.9中的试验
- dailylog-common成功安装到本地库
- dailylog-parent成功安装到本地库
- dailylog-web成功安装到本地库
该命令等价于`mvn clean install -pl ../dailylog-web -am`
2. 在dailylog-parent目录运行`mvn clean install -pl ../dailylog-common -am`,结果
- dailylog-common成功安装到本地库
- dailylog-parent成功安装到本地库
3. 在dailylog-parent目录运行`mvn clean install -pl ../dailylog-common -amd`,结果
- dailylog-common成功安装到本地库
- dailylog-web成功安装到本地库
由于dailylog-parent并不依赖dailylog-common模块,故没有被安装
4. 在dailylog-parent目录运行`mvn clean install -pl ../dailylog-common,../dailylog-parent -amd`,结果
- dailylog-common成功安装到本地库
- dailylog-parent成功安装到本地库
- dailylog-web成功安装到本地库
5. 在dailylog-parent目录运行`mvn clean install -N`,结果
- dailylog-parent成功安装到本地库
-N表示不递归,那么dailylog-parent管理的子模块不会被同时安装
6. 在dailylog-parent目录运行`mvn clean install -pl ../dailylog-parent -N`,结果
- dailylog-parent成功安装到本地库
在dailylog-parent目录运行`mvn clean install -rf ../dailylog-common`,结果
- dailylog-common成功安装到本地库
- dailylog-web成功安装到本地库
==========================================================================================
mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。
由上面的分析可知主要区别如下,
package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
==========================================================================================
Maven中的-D(Properties属性)和-P(Profiles配置文件)
-D代表(Properties属性)
使用命令行设置属性-D的正确方法是:
mvn -DpropertyName=propertyValue clean package
- 如果
propertyName
不存在pom.xml
,它将被设置。 - 如果
propertyName
已经存在pom.xml
,其值将被作为参数传递的值覆盖-D
。
要发送多个变量,请使用多个空格分隔符加-D
:
mvn -DpropA=valueA -DpropB=valueB -DpropC=valueC clean package
-P代表(Profiles配置文件)
也就是说在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。
最新文章
- VS2013开启滚动条缩略图和双击选中高亮,效果杠杠滴!
- [转]中国最大的Webshell后门箱子调查,所有公开大马全军覆没
- java的执行与加载的过程
- (转)实例分析:MySQL优化经验
- PHP获取日期
- Runloop应用实例
- 多线程进行n皇后计算
- CSS 去掉IE10中type=password中的眼睛图标
- java 串口通信 代码
- Demo02_对结构体进行文件读写_张仕传_作业_
- Oracle case用法
- Linux下查看MySQL的安装路径
- NewsDao
- html5本地存储数据,实现自动登录功能
- Django模板渲染
- python之列表和生成器表达式篇
- Linux初学 - Centos7忘记root密码的解决办法
- python编程之禅
- 微信小程序、微信公众号、H5之间相互跳转
- 嵌入式&#160;探讨父子线程、进程终止顺序不同产生的结果_skdkjxy_新浪博客
热门文章
- Android dialog使用
- 完全分布式hadoop2.5.0安装 VMware下虚拟机centos6.4安装1主两从hadoop
- JedisCluster操作redis集群
- day34-常见内置模块三(re模块)
- Spring注解标签详解@Autowired @Qualifier等
- Elasticsearch之优化
- Grafana分析Nginx日志
- ReactiveX 学习笔记(19)使用 RxSwift + RxCocoa 进行 GUI 编程
- 遍历DOM树,each()遍历
- [Shell]一张图知道Shell(图)