主要最近项目开发中有个疑问:
将我们项目的API包发布到NEXUS私服,没有更新版本号,每次发布都是0.0.1-SNAPSHOT。而有一个网关项目依赖这个API包,但只要重新部署网关项目它就能自动拉取最新的API包。
这点有些疑问:为什么我的API包没改版本号,网关项目应该认为本地的API包和远程API包是一致的,不会再到私服去拉取一次这个API包,但为什么它还能够自动到私服去拉取最新版的API包?
一开始网上查了点信息认为可能打包时加了参数或者POM加了配置,可能是网关项目的POM中配置了updatePolicy这个参数,但去看了下项目发现并没有。
还有个可能是每次部署前用脚本删除本地的依赖包,但是实际上不太科学也没有这样做。
MAVEN发布固定版本(不需要更改pom更新依赖的方法)
后来发现SNAPSHOT部署版本号会自动添加时间戳及当前版本号,因此SNAPSHOT不用修改版本号也能获取最新的包。另外打包的时候还需要加上-U参数强制maven拉取现在最新的快照构建
image.png
网友评论