maven仓库,snapshot快照仓库和release发布仓库的区别

首先看下snapshot类型

建立一个maven-privider项目,版本定义为1.1-SNAPSHOT

 创建一个privider类,写一个hello()方法,并推送maven私有仓库

 然后再建立一个deploy-practice项目,并引用maven-privider项目

然后用main方法测试,如下图所示:打印出hello

 下面修改下hello方法,推送maven仓库

 然后我们,不做任何修改,直接运行测试的main方法,结果如下,直接打印出最新修改内容

 -----------------------------------------------------------------------------------------------

下面看下release类型仓库,将maven-provider项目类型改为release类型

hello()方法输出内容修改为hello I am release,并推送maven 私服

将maven-practice引入maven-privider类型改为release类型

 测试main方法,结果如下,和预期的一样,没有问题

 修改hello方法内容,如图所示

 再次运行main方法,结果如下,结果并没有改变和修改之前是一样的

 解决办法有两个,一是删除远程仓库中的jar包,重新推送,然后再删除本地的maven仓库,二是,重新推送的时候,升级版本号(引入的地方版本号同样也需要修改),咱们使用第一种方法,重新测试main方法,结果如下

 总结:

snapshot类型仓库:每次构建项目时从远程仓库中检出一份新的快照版本

release类型仓库:重复推送,并不会覆盖远程仓库的jar包,必须删除之前的版本,或者升级版本号进行再次推送到私服

猜你喜欢

转载自www.cnblogs.com/hjw-zq/p/11710490.html