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命令来 ...
随机推荐
- sql 更新时 实现 数字字段自加1
第一种:直接使用SQL语句,这种方式可以避免并发操作造成的数据不一致问题UPDATE 表名称 SET 列名称 = 列名称 + 1 WHERE …… 第二种:将上面的语句逻辑封装成一个存储过程,加上事务 ...
- 关于Spring Boot中的业务层(Service)是否要创建接口的分析
在借助Spring Boot框架开发web项目时,在业务层(Service)这一部分,标准做法是:定义一个接口,然后再一个或多个类去实现.那么疑问来了: 为什么我们要维护两份同构代码,而不直接使用一个 ...
- ant design pro---ProTable关闭Table上的提示信息
toolBarRender={false} tableAlertRender={false}
- Illustrate Java Access Levels
https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html 官网教程,清晰明了. (完)
- Python3笔记004 - 2.1 python的语法特点
第2章 python语言基础 python语法特点 保留字与标识符 变量 数据类型 运算符 输入和输出 2.1 python的语法特点 2.1.1 注释 注释的内容将被python解释器忽略,并不会在 ...
- Nmap常见扫描方式流量分析
环境说明 扫描者:manjaro linux , IP地址:192.168.31.160 被扫描者:centos 7,IP地址:192.168.31.175 分析工具:wireshark nmap 版 ...
- day15 名称空间与作用域
目录 一.参数补充 1 命名关键字参数(了解) 二.名称空间 1.内置名称空间 2.全局名称空间 3.局部名称空间 4.名称空间的加载与销毁顺序 三.作用域 一.参数补充 1 命名关键字参数(了解) ...
- Python 列表生成式 生成器
[x for x in os.listdir("F:\XXX")] 生成器(x * x for x in range(10)) 如果列表元素按照某种算法推算出来,那我们就可以在循环 ...
- Maven 专题(六):Maven核心概念详解(二)
5 仓库 5.1 分类 [1]本地仓库:为当前本机电脑上的所有 Maven 工程服务.[2]远程仓库: (1)私服:架设在当前局域网环境下,为当前局域网范围内的所有 Maven 工程服务 ...
- Python网络编程04 /recv工作原理、展示收发问题、粘包现象
Python网络编程04 /recv工作原理.展示收发问题.粘包现象 目录 Python网络编程04 /recv工作原理.展示收发问题.粘包现象 1. recv工作原理 2. 展示收发问题示例 发多次 ...