maven 一些高级用法命令
- 发布本地jar到私服 命令- mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=D:\Downloads\OJDBC-Full\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.4 -Dpackaging=jar -DrepositoryId=releases -Durl=http://192.168.0.168:8081/repository/maven-releases/ 
- 持续集成服务器上的集成命令- 打包jar- mvn clean install -B -e -U -Dmaven.repo.local=/home/juven/ci/foo-repo/ - 发布jar到私服- mvn clean deploy -B -e -U -Dmaven.repo.local=/home/juven/ci/foo-repo/ - 在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比较好的集成命令会稍微复杂些,下面是一些总结:- 不要忘了clean: clean能够保证上一次构建的输出不会影响到本次构建。
- 使用deploy而不是install: 构建的SNAPSHOT输出应当被自动部署到私有Maven仓库供他人使用,这一点在前面已经详细论述。
- 使用-U参数: 该参数能强制让Maven检查所有SNAPSHOT依赖更新,确保集成基于最新的状态,如果没有该参数,Maven默认以天为单位检查更新,而持续集成的频率应该比这高很多。
 使用-e参数:如果构建出现异常,该参数能让Maven打印完整的stack trace,以方便分析错误原因。
- 使用-Dmaven.repo.local参数:如果持续集成服务器有很多任务,每个任务都会使用本地仓库,下载依赖至本地仓库,为了避免这种多线程使用本地仓库可能会引起的冲突,可以使用-Dmaven.repo.local=/home/juven/ci/foo-repo/这样的参数为每个任务分配本地仓库。
- 使用-B参数:该参数表示让Maven使用批处理模式构建项目,能够避免一些需要人工参与交互而造成的挂起状态。
- 使用-X参数:开启DEBUG模式。
 
- pom-config 插件使用 (自定义的maven插件)- 修改pom properties 里节点的版本号 
 mvn com.zy:pom-config:1.0.1:pom-config -Dparams="hiip-user-api.version=0.44.1-SNAPSHOT"
- 修改全模块版本号- A 执行以下命令 mvn versions:set -DoldVersion=* -DnewVersion=1.0.1-SNAPSHOT -DprocessAllModules=true -DallowSnapshots=true 如果还有没有修改到的。执行下方的命令重试。 mvn versions:update-child-modules 
- B 执行编译打包的命令 mvn clean install -DskipTests 
- C 查看依赖树的版本是否修改成功 mvn dependency:tree -Dverboss -Dincludes=${project.groupId}{project.artifactId} 
- D 失败就回退 mvn versions:revert 
- E 成功则提交 mvn versions:commit 
- 参数默认值说明 - 指令 - 值 - 说明 - allowSnapshots - false - 是否更新-snapshot快照版 - artifactId - ${project.artifactId} - 指定artifactId - generateBackupPoms - true - 是否备份pom文件 - groupId - ${project.groupId} - 指定groupId - newVersion - 设置的新版本号 - nextSnapshot - false - 更新版本号为下一个快照版本号 - oldVersion - ${project.version} - 指定需要更新的版本号可以使用缺省‘*’ - processAllModules - false - 是否更新目录下所有模块无论是否声明父子节点 - processDependencies - true - 是否更新依赖其的版本号 - processParent - true - 是否更新父节点的版本号 - processPlugins - true - 是否更新插件中的版本号 - processProject - true - 是否更新模块自身的版本号 - removeSnapshot - false - 移除snapshot快照版本,使之为release稳定版 - updateMatchingVersions - true - 是否更新在子模块中显式指定的匹配版本(如/项目/版本)。 
 
本文由博客群发一文多发等运营工具平台 OpenWrite 发布
maven 一些高级用法命令的更多相关文章
- nmap命令-----高级用法
		探测主机存活常用方式 (1)-sP :进行ping扫描 打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测): 下面去扫描10.0.3.0/24这个网段的的主机 nmap ... 
- linux中find命令高级用法
		前言 在<Linux中的文件查找技巧>一文中,我们已经知道了文件查找的基本方法,今天我们介绍find命令的一些高级使用技巧.它能满足我们一些更加复杂的需求. 查找空文件或空目录 有时候需要 ... 
- SQL server 存储过程  C#调用Windows CMD命令并返回输出结果  Mysql删除重复数据保留最小的id   C# 取字符串中间文本 取字符串左边 取字符串右边  C# JSON格式数据高级用法
		create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ... 
- Linux tar命令高级用法——备份数据
		Linux tar命令高级用法——备份数据 2015-12-31 Linux学习 Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件 ... 
- Linux下mv命令高级用法
		mv 也是 Linux 下一个使用频率非常高的命令,但除了一些基本用法,你还知道它的哪些高级用法呢? 1. 基本用法 移动一个/多个文件: 移动一个/多个目录: 重命名文件/目录. 这些都是很基本的用 ... 
- Linux下 ls 命令的高级用法8例
		Linux下 ls 命令的高级用法8例 在Linux下,ls这个命令大家肯定太熟悉了,良许相信只要是Linux工程师,每天都会离不开这个命令,而且一天会使用个几百次.但是,除了 ls -l 以外,你还 ... 
- #define命令的一些高级用法
		=========================================================== define中的三个特殊符号:#,##,#@ ================= ... 
- Visual Studio 宏的高级用法
		因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编 ... 
- redis(二)高级用法
		redis(二)高级用法 事务 redis的事务是一组命令的集合.事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行. 首先需要multi命令来开始事务,用exec命令来 ... 
随机推荐
- STL初步学习(set)
			2.set set可以看作一个集合,可以实现自动排序(升序)和去重 在许多题目中,都可以使用这个模板库,减少很多操作,例如P1923 第k小数,当然,这道题有很多奇奇怪怪的做法,分值都不同,之后会讲解 ... 
- Tornado之异步非阻塞
			同步模式:同步模式下,只有处理完前一个任务下一个才会执行 class MainHandler(tornado.web.RequestHandler): def get(self): time.slee ... 
- 每日一题 - 剑指 Offer 32 - III. 从上到下打印二叉树 III
			题目信息 时间: 2019-06-25 题目链接:Leetcode tag:双端队列 难易程度:中等 题目描述: 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右 ... 
- sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class
			1.首先,问题出现的点是在泛型 我出现问题的原因是,和泛型有关系,要调整泛型 2.我把问题出现的过程描述一哈子 1.基础类 @tk.mybatis.mapper.annotation.Register ... 
- cin cout 的优化(神优化)外号:神读入
			在比赛里,经常出现数据集超大造成 cin TLE的情况.这时候大部分人(包括原来我也是)认为这是cin的效率不及scanf的错,甚至还上升到C语言和C++语言的执行效率层面的无聊争论.其实像上文所说, ... 
- Jenkins+tomcat自动发布的热部署/重启及遇到的坑解决办法
			一.背景 公司的项目一直手动maven打包.上传服务器.关闭/开启tomcat,整个流程下来耗时耗力,虽然可以将所有流程通过shell脚本一次性解决,但如果可以通过idea的Jenkins插件一键自动 ... 
- Linux 下载工具推荐: Motrix && qbittorrent
			Linux下载介绍 Linux下其实下载工具还是蛮多的, 命令行的wget,curl,aria2,甚至于apt 但是个人日常使用下还是有图形化界面比较方便易用.大多数教程里推荐的Uget,可能是我也不 ... 
- 怎么查看HBase表的创建时间
			前几天HBase出现了RIT告警,忽然发现发出告警的Region所属的表并不是我创建出来的,于是就想看看这些表是怎么来的. 一时也没什么头绪,就先看看这些表是什么时候创建出来的吧,然后再根据时间点看看 ... 
- JVM 专题二十:垃圾回收(四)垃圾回收器 (一)
			1. GC分类与性能指标 垃圾收集器没有在规范中进行过多的规定,可以由不同的厂商.不同版本的JVM来实现.由于JDK的版本处于高速迭代过程中,因此Java发展至今已经产生了众多的GC版本.从不同角度分 ... 
- scrapy 基础组件专题(二):下载中间件
			下载器中间件是介于Scrapy的request/response处理的钩子框架,是用于全局修改Scrapy request和response的一个轻量.底层的系统. 1.激活Downloader Mi ... 
