(十三)maven之release和snapshots
发布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
最新文章
- pm2.5检测统计
- WPF 让Enter键按下时默认为某按钮(Button)事件
- Linux/Unix双机建立信任教程
- mvc 方法只允许ajax访问
- 在android中使用achartengine来绘制各种图表
- jquery extend中
- 未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“xxx.Resources.resources”正确嵌入或链接到程序集
- java实现——030最小的k个数
- 认识python中的set集合及其用法
- Windows Zip/CentOS/Radhat系统安装Mysql5.7.x方法
- GitHub-版本管理
- GitHub命令更新
- ucml JS调用其它页面上的服务端方法
- react-native ES5与ES6写法对照表
- 【转】浅谈React、Flux 与 Redux
- TeeChart 有用的属性
- Linux获取进程执行时间
- Perl实战(一)
- scp 指定端口(转)
- 委托与事件代码详解与(Object sender,EventArgs e)详解