发布release

用户A将代码打包到RELEASE仓库。用户B使用时,需要在pom.xml添加jar包的依赖坐标。如果用户A将jar包版本从1.0升级到2.0,用户B使用时也需要在pom.xml中修改坐标版本。但是RELEASE表示是稳定版本,是经过测试以后才会发布的,通常不会频繁地升级版本。

快照SNAPSHOT

SNAPSHOT是不稳定版本,可能是还在开发中的版本,在开发时用户A可能每天都会更新代码,可能会频繁地发布版本。而另一组用户B需要实时得到A的最新代码版本,以进行同步开发。如果使用RELEASE仓库需要不停地更换坐标,才能升级到最新版本。而在SNAPSHOT仓库则不需要这么做,用户A和用户B都不用升级版本。

用户A每次发布时会根据当时的时间创建一个新的快照版本,之前的吧、快照版本也会保留成为历史版本。用户B每次构建项目时会自动根据版本时间加载最新的依赖jar包。所以这种模式更加适合于多模块同步开发测试阶段。

 

RELEASE仓库的用法

RELEASE仓库的用法在上一篇hosted宿主仓库的介绍中有提到:https://www.cnblogs.com/NYfor2018/p/9079629.html

 

SNAPSHOT仓库用法

 

① 与RELEASE仓库类似,在pom.xml中设置快照仓库:

<distributionManagement> 

    <snapshotRepository> 

        <id>snapshot</id> 

        <name>snapshot</name> 

        <url>http://localhost:8081/repository/maven-snapshots/</url> 

    </snapshotRepository> 

</distributionManagement> 

② 同时设置version中的版本后面必须有“-SNAPSHOT”,此后缀代表这是一个快照版。

<version>1.0-SNAPSHOT</version>  

③ 在settings.xml中设置用户名密码,id要和上面的对应(与RELEASE仓库的设置类似)。

<servers> 

    <server> 

        <id>snapshot</id> 

        <username>admin</username> 

        <password>admin123</password> 

    </server> 

</servers> 

(需要注意,不要偷懒哦,这里server的id是snapshot,不是release,所以还是需要在settings.xml中设置)

④ 运行nexus私服(参考前两篇:https://www.cnblogs.com/NYfor2018/p/9079068.html、https://www.cnblogs.com/NYfor2018/p/9079629.html )。

⑤ 在eclipse中右击maven项目--Run as--maven build...,然后在goals输入deploy,再点击Run。

然后打开nexus页面,可在Browse—maven snapshots里面看到,MavenTest项目已经被打包成snapshot版本格式了。

 


参考文章:https://blog.csdn.net/wangb_java/article/details/66000956

(十三)maven之release和snapshots的更多相关文章

  1. Maven发布Release到中心仓库历程记录(无个人域名)

    Maven发布Release到中心仓库历程记录(无个人域名) 前言 因为前段时间自己做了一个爬虫项目(地址),自己很希望分享到maven中心仓库上,感觉拥有自己的jar包令我兴奋,便开始了maven发 ...

  2. nexus建立maven仓库私服及Snapshots、release的版本管理

    环境搭建   1.linux安装maven   wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.0.5/binaries/apache-mave ...

  3. (十三)Maven插件解析运行机制

    这里给大家详细说一下Maven的运行机制,让大家不仅知其然,更知其所以然. 1.插件保存在哪里? 与我们所依赖的构件一样,插件也是基于坐标保存在我们的Maven仓库当中的.在用到插件的时候会先从本地仓 ...

  4. Java开发学习(三十三)----Maven私服(一)私服简介安装与私服分类

    一.私服简介 团队开发现状分析 (1)张三负责ssm_crm的开发,自己写了一个ssm_pojo模块,要想使用直接将ssm_pojo安装到本地仓库即可 (2)李四负责ssm_order的开发,需要用到 ...

  5. Maven学习(十三)-----Maven 构建生命周期

    Maven 构建生命周期 构建生命周期是什么? 构建生命周期阶段的目标是执行顺序是一个良好定义的序列. 这里使用一个例子,一个典型的 Maven 构建生命周期是由下列顺序的阶段: 阶段 处理 描述 准 ...

  6. maven pom.xml 说明

    本文复制于:http://blog.csdn.net/zhuxinhua/article/details/5788546 一.pom.xml示例 <project> <modelVe ...

  7. Gradle 1.12用户指南翻译——第五十二章. Maven 插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见:http://blog.csdn.net/column/details/gradle-translation.html翻译项目请关注Github上 ...

  8. maven常用插件集

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  9. maven权威指南学习笔记(五)—— POM

    1. 简介 Archetype插件通过 pom.xml 文件创建了一个项目.这就是项目对象模型 (POM),一个项目的声明性描述. 当Maven运行一个目标的时候,每个目标都会访问定 义在项目POM里 ...

随机推荐

  1. python --Eclipse中安装pydev插件及调试

    运行程序 运行 Python 源程序,有两种方法,以 example.py 为例: example.py代码: #!/usr/bin/env python # -*- coding:utf-8 -*- ...

  2. B - Equidistant String

    B - Equidistant String Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & % ...

  3. [工作笔记]JDK版本不同导致的SSL异常

    前言 遇到这个问题得说一下笔者的开发环境,笔者所在公司,平时开发用的web容器是jboss,使用的JDK是oracle的JDK,但是测试和生产环境用的是WAS,JDK用的是IBM的JDK,由于项目的不 ...

  4. 极客时间_Vue开发实战_04.开发环境搭建

    Vue CLI的形式搭建环境: vue create hello-world 我们选择default默认的配置,提供babel和eslint的支持.如果你已经对工程化的东西非常了解了.你可以选择自定义 ...

  5. Weekly Contest 78-------->809. Expressive Words (stack)

    Sometimes people repeat letters to represent extra feeling, such as "hello" -> "he ...

  6. 767. Reorganize String

    Given a string S, check if the letters can be rearranged so that two characters that are adjacent to ...

  7. ZOJ3164【背包问题(好题)】

    %%%%%%%%%%%%%%%岐爷 这一发从来没写过这么旺盛的背包问题... 想法很多,但是好难执行. 题意: 有N种饼干,1-N 每种最多想买Ki个,ki等于0的话没有上界 对于第i种饼干的权值是E ...

  8. 用vector实现普通平衡树 By cellur925

    其实我真的很想学习手写平衡树的==.但是感觉联赛前真没有时间了(太菜了.),于是先学一个STL代用苟,如果还能继续在\(tsoi\)苟,回来一定先学平衡树=w=. 然后因为窝对STL用的不是特别好,有 ...

  9. Tomcat - ClassFormatException的解决方法

    问题与分析 在使用Tomcat7运行web项目时报错如下: 严重: Compilation error org.eclipse.jdt.internal.compiler.classfmt.Class ...

  10. JAVA 7新特性——在单个catch代码块中捕获多个异常,以及用升级版的类型检查重新抛出异常

    在Java 7中,catch代码块得到了升级,用以在单个catch块中处理多个异常.如果你要捕获多个异常并且它们包含相似的代码,使用这一特性将会减少代码重复度.下面用一个例子来理解. Java 7之前 ...