1.打包版本区别

SNAPSHOT 快照版本(开发阶段,不稳定,容易出现bug)
RELEASE 正式版本(外部依赖使用阶段,稳定,很少出现bug)
Tag :标记每次代码提交的版本(比较稳定,类似分支)

2.release plugin 插件的作用

①检查本地有无未提交的代码

②检查项目是否有快照版本依赖

③执行单元测试,生成API文档

④在本地和远程库的GIT中打上对应版本的tag

⑤将SNAPSHOT版本升级为release版本,发布release版本到指定私服上

⑥修改pom版本为新的SNAPSHOT 版本(之前快照版本的下一个版本),基于修改后的POM执行maven构建,提交POM变更

3.实现配置

pom文件配置

4.操作流程

4.1 mvn release:prepare:打包前的准备

①检测代码是否有未提交的代码,检查项目的POM依赖或插件是否有SNAPSHOT版本,执行单元测试(跳过单元测试:-Darguments="-DskipTests")
②输入对应的release需要打包的版本等信息,如果不输入有默认的内容
③将需要记录和准备的内容缓存到pom.xml目录下的release.properties文件中
④在本地和远程库的GIT中打上对应版本的tag

4.2 mvn release:rollback:后悔药

如果在准备阶段发生错误,或者需要修改某些地方的话,就需要到这个命令了
①将POM的配置回到release:prepare之前的状态。但需要注意的是,不会删除tag 需要手动删除git上的tag和本地的tag: git tag -d ...

4.3 mvn release:perform

①生成API文档(取消构建api文档:-DuseReleaseProfile=false)
②将pom文件之前的1.0-SNAPSHOT改为1.1-SNAPSHOT, 将1.0的release版本deploy至scm配置的nexus release库中,提交pom文件变更

4.4 流程图

5.演示截图

5.1 mvn release:prepare

指定打包版本

生成两个临时文件

本地和线上git上打tag

5.2 mvn release:rollback

删除临时生成的release.properties文件和pom的备份文件,但是不会删除线上和本地的tag,需要手动删除

5.3 mvn release:perform

发布release版本到指定私服上

升级本地pom中的快照版本,并 保存提交到git上

maven release plugin插件的更多相关文章

  1. Maven版本管理-Maven Release Plugin插件

    一.什么是版本管理 首先,这里说的版本管理(version management)不是指版本控制(version control),但是本文假设你拥有基本的版本控制的知识,了解subversion的基 ...

  2. 记录一次maven打包时将test目录下的类打包到jar中,Maven Assembly Plugin的使用

    今天有人问我打包后找不到主类,运行的类写在test中.按照常规,test目录下的文件不会打包到jar包中.(但是我测试一个springboot工程就可以,这里之后再研究) 具体解决如下 第一步:在po ...

  3. AS 自定义 Gradle plugin 插件 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解

    Assembly插件会生成 "assemblies", 此特性等同于的Maven 1 distribution plug-in..该插件不仅支持创建二进制归档文件,也支持创建源码归 ...

  5. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  6. 学习Maven之Maven Enforcer Plugin

    1.Maven Enforcer plugin是什么鬼? 在说这个插件是什么前我们先思考这么一个问题:当我们开发人员进入项目组进行开发前,要准备开发环境,而领导总是会强调工具的统一,编译环境的统一.比 ...

  7. [Apache Maven Shade Plugin] [example] [001] 官方例子:includes-excludes

    链接地址:[Selecting Contents for Uber JAR](http://maven.apache.org/plugins/maven-shade-plugin/examples/i ...

  8. 施用 maven shade plugin 解决 jar 或类的多版本冲突

    施用 maven shade plugin 解决 jar 或类的多版本冲突   使用 maven shade plugin 解决 jar 或类的多版本冲突java 应用经常会碰到的依赖的三方库出现版本 ...

  9. maven中jetty插件配置

    maven中jetty插件的配置,可用于项目在内置jetty服务器中的部署. <plugin> <groupId>org.mortbay.jetty</groupId&g ...

随机推荐

  1. live555源码分析

    live555源代码下载(VC6工程):http://download.csdn.net/detail/leixiaohua1020/6374387 liveMedia 项目(http://www.l ...

  2. 原生js 保存图片到本地

    <template> <div> <!--创建一个cavas 用来存放图片--> <canvas id="cavasimg" width= ...

  3. Java堆空间溢出解决方法 Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

    一般通过java -jar filename.jar运行jar包,但是当运行的java程序需要较大的内存时,可能会造成堆空间溢出. 例如,加载了几个G大小的json文件,运行报错: Exception ...

  4. 数据链路层、ARP/RARP、ICMP、ping和traceroute

    互联网基础:   数据链路层:RFC文档:894/1042/1340 为IP模块发送和接受IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答   ...

  5. SQL Server 批量插入数据

    请看代码: 创建表值参数类型: 请看代码:

  6. linux 一些有用的命令

    新增软链接 ln -s /usr/local/python27/bin/python2.7 /usr/bin/python 新建目录/递归 mkdir ./{nginx,memcached,httpd ...

  7. 使用dlopen和dlsym来使用C++中的类

    http://my.oschina.net/u/1450061/blog/204608

  8. 每天一个linux命令(文件操作):【转载】whiereis命令

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非 ...

  9. Codeforces 932E Team work 【组合计数+斯特林数】

    Codeforces 932E Team work You have a team of N people. For a particular task, you can pick any non-e ...

  10. pip 在windows下的更新升级

    1. pip 在 PyCharm 无法自动更新 2.   https://pip.pypa.io/en/latest/installing.html 官方网页要求在 cmd中输入以下命令进行 pip的 ...