maven2-snapshot快照库和release发布库的应用

在项目中应用snapshot和release库,应用snapshot和release库达到不同环境下发布不同的版本的目的,首先看一个pom文件的定义:

<project><modelVersion>4.0.0</modelVersion><groupId>cc.mzone</groupId><artifactId>myjar</artifactId><version>${project.release.version}</version><packaging>jar</packaging><distributionManagement><repository><id>mzone-release</id><url>http://192.168.1.88/nexus/content/repositories/mzone-release</url></repository><snapshotRepository><id>mzone-snapshot</id><url>http://192.168.1.88/nexus/content/repositories/mzone-snapshot</url></snapshotRepository></distributionManagement><properties><project.release.version>0.1-SNAPSHOT</project.release.version></properties><profiles><profile><id>product</id><properties><project.release.version>0.1</project.release.version></properties></profile></profiles>
</project>

      首先我们看到pom文件中version的定义是采用占位符的形式,这样的好处是可以根据不同的profile来替换版本信息,比如maven默认是使用0.1-SNAPSHOT作为该模块的版本。

1、如果在发布时使用mvn deploy -P product的命令,那么会自动使用0.1作为发布版本,那么根据maven处理snapshot和release的规则,由于版本号后不带-SNAPSHOT故当成是正式发布版本,会被发布到release仓库;

2、如果发布时使用mvn deploy命令,那么就会使用默认的版本号0.1-SNAPSHOT,此时maven会认为是快照版本,会自动发布到快照版本库。

      在distributionManagement段中配置的是snapshot快照库和release发布库的地址,我这里是采用nexus作为镜像服务器。对于版本库主要是id和url的配置,配置完成后就可以通过mvn deploy进行发布了,当然了,如果你的镜像服务器需要用户名和密码,那么还需要在maven的settings.xml文件中做如下配置:

<servers><server><id>mzone-release</id><username>deployment</username><password>deployment</password></server><server><id>mzone-snapshot</id><username>deployment</username><password>deployment</password></server>
</servers>

   注意这里配置的server的id必须和pom文件中的distributionManagement对应仓库的id保持一致,maven在处理发布时会根据id查找用户名称和密码进行登录和文件的上传发布。

      我们这里通过profile的定义就可以在发布灵活切换snapshot快照版本和release正式版本了,在被依赖的组件中也可以使用profile来定义在开发阶段使用快照库,在发布阶段使用正式库的功能,只需要在不同的profile中覆盖默认的properties属性值即可。

 

转载于:https://www.cnblogs.com/hwaggLee/p/4579464.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络安装系统怎么办,电脑没有网络如何重装系统

大家应该在线重装系统的时候安装下载到一半会提示您没有网络了&#xff0c;需要用户怎么解决呢&#xff1f;无法联网可以重装系统吗&#xff1f;下面让小编带您了解一下无网环境下重装系统的教程操作哦&#xff01;1&#xff0c;在其他可联网的电脑上&#xff0c;使用小白一键重…

python的return语句求两数之和_程序题(python解)

PyCharm整理代码&#xff1a;CtrlAltl list行数&#xff1a;len(list) list列数&#xff1a;len(list[1])笔试常使用到的功能&#xff1a; 1、单独取出一长串字符中每个单独的字符&#xff1a;输入‘abcd’&#xff0c;输出‘a’bcddef zifu(value):return list(map(str,str(va…

VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)

VSTO 得到Office文档的选中内容&#xff08;Word、Excel、PPT、Outlook&#xff09; 原文:VSTO 得到Office文档的选中内容&#xff08;Word、Excel、PPT、Outlook&#xff09; 目的&#xff1a;得到在Word、Excel、PPT、Outlook中选中的一段内容。 Word: private string GetSel…

用计算机桁架各杆内力,运用AUTO CAD求解桁架内力?

摘要&#xff1a; 一个平面汇交力系的平衡条件是其力多边形必须闭合,依其条件,利用图解法和计算机中的AUTO CAD绘图工具,迅速准确地求解一个结点上的两个未知力,并以其类推求解桁架各杆内力。特别在复杂的桁架内力计算中更显示其法优越性。关键词&#xff1a; CAD 桁架 内力一般…

python开发视频播放器_Python应用03 使用PyQT制作视频播放器实例

最近研究了Python的两个GUI包&#xff0c;Tkinter和PyQT。这两个GUI包的底层分别是Tcl/Tk和QT。相比之下&#xff0c;我觉得PyQT使用起来更加方便&#xff0c;功能也相对丰富。这一篇用PyQT实现一个视频播放器&#xff0c;并借此来说明PyQT的基本用法。 视频播放器 先把已经完成…

js 正则中冒号代表什么_javascript中正则表达式语法详解

好久都没有写博客了&#xff0c;主要是太懒了&#xff0c;尤其是在阳春三月&#xff0c;风和日丽的日子&#xff0c;太阳暖暖的照在身上&#xff0c;真想美美的睡上一觉。就导致了这篇博客拖到现在才开始动笔&#xff0c;javascript的正则这一块也不是什么新的东西&#xff0c;…

一个关于数学归纳法的悖论问题-续

上篇文章讲到一个悖论,这里解开悖论的什么面纱 上篇文章地址http://www.cnblogs.com/zhouyf/p/4583351.html 「游客没有输入任何新的信息」这个断言是错的。N1的情形不必说了&#xff0c;显然输入了新信息。对于N>1的情形&#xff0c;要注意&#xff0c;游客必须是当着所有人…

封装出现 用户.计算机,ES4封装WIN7出现[Administrator.计算机名]目录的可能解决方案...

受https://www.itiankong.net/thread-36634-1-1.html这个贴子中的思路启发&#xff0c;算是彻底解决了[Administrator.计算机名]目录的问题&#xff0c;打算把整理的方法贴出来&#xff0c;遇到问题的朋友也帮忙试一下是否有效。先说原理&#xff1a;这个问题的出现基本上和ES无…

自动化测试工具selenium python_Selenium自动化测试工具使用方法汇总

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options Options() chrome_options.add_argument(- -headless) chrome_options.add_argument(- -disable-gpu) class XX(object): self.driver webdriv…

数据库查找姓李的人_最通俗易懂的理解什么是数据库

1.什么是数据库呢&#xff1f;每个人家里都会有冰箱&#xff0c;冰箱是用来干什么的&#xff1f;冰箱是用来存放食物的地方。同样的&#xff0c;数据库是存放数据的地方。正是因为有了数据库后&#xff0c;我们可以直接查找数据。例如你每天使用余额宝查看自己的账户收益&#…

Android多媒体分析-通过MediaStore获取Audio信息

public void getAlldata() { ContentResolver cr getApplication().getContentResolver(); if (cr null) { return; } // 获取所有歌曲 Cursor cursor cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, …

怎么在anaconda上安装python_我是如何用Anaconda来管理Python的

Anaconda 是一个用于科学计算的 Python 发行版&#xff0c;支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。 Anaconda主要特点: 开源各个库之间的依赖性列出所需其他依赖包。多种开源库conda是包及其依赖项和环境的管理工具适用语言&#xff1a;P…

rdd分片 spark_Spark分区

一、分区的概念分区是RDD内部并行计算的一个计算单元&#xff0c;RDD的数据集在逻辑上被划分为多个分片&#xff0c;每一个分片称为分区&#xff0c;分区的格式决定了并行计算的粒度&#xff0c;而每个分区的数值计算都是在一个任务中进行的&#xff0c;因此任务的个数&#xf…

html5 防止脚本攻击,shell防ddos攻击脚本(二)

在上一篇shell防ddos攻击脚本(一)中,我给大家发了个脚本,那只是针对单机的,如果是在负载均衡下的话,很容易把自己的服务器ip给误封,所以这篇文章就给大家发个可以添加白名单的shell脚本.系统:centos 5.9 64位脚本内容:vi ip-dos-cc.sh#!/bin/bashnetstat -an| grep :80 |grep -…

python中配置opencv_在Windows中安装OpenCV-Python|四

目标 在本教程中&#xff0c;我们将学习在你的Windows系统中设置OpenCV-Python。 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7-64位计算机上进行了测试。屏幕截图展示的是VS2012。 从预编译的二进制文件安装OpenCV 下面的Python软件包将被下载并安装到…

uip UDPclient模式通信移植,当地port随机

现在移植UDPclient模式,测试广播地址. //udp_client.c /************************************************************************************************************** 文件名称: udp_client.c* 功能: uIP UDP客户端相关函数* 作者: cp1300139.com* 创建时间: 20…

react如何遍历并比较_[前端进阶] 这可能是最通俗易懂的React 渲染原理及性能优化...

如今的前端&#xff0c;框架横行&#xff0c;出去面试问到框架是常有的事。我比较常用React&#xff0c; 这里就写了一篇 React 基础原理的内容&#xff0c; 面试基本上也就问这些&#xff0c; 分享给大家。React 是什么React是一个专注于构建用户界面的 Javascript Library.一…

运用计算机计算包含排斥原理,离散数学包含及排斥原理.ppt

离散数学包含及排斥原理第三章 集合与关系 * 一、有限集的计数 一个集合若其组成集合的元素个数是有限的&#xff0c;则称作有限集。 设A1、A2为素个数分别记为|A1|&#xff0c;|A2| P96有限集记数有如下几个性质&#xff1a; a)|A1∪A2| ≤ |A1||A2| b)|A1∩A2| ≤min( |A1|,|…

基于git的工作流程

本文针对的是追求极致、快速的产品响应团队的。以下的观点和内容都是围绕这个主题&#xff0c;暂时不涉及个人学习和团队学习。 在说工作流程之间&#xff0c;想说一下我们平常工作中遇到的一些困惑或者说现象 在一个团队里&#xff0c;同时有好多事件要解决。有的是产品迭代&a…

c 自定义实现string类 clear_CC++语言15|类的继承和派生实现代码重用、扩充

在C中&#xff0c;继承是一个对象自动获取其父对象的所有属性和行为的过程。通过继承&#xff0c;您可以重用&#xff0c;扩展或修改在其他类中定义的属性和行为。通过继承&#xff0c;可以实现函数重写以及多态。在C中&#xff0c;继承另一个类的成员的类称为派生类&#xff0…