0%

gradle 编译时强制刷新依赖

最近团队封装了个 springbootstarter,用起来很爽,后来优化代码的时候,看到下边的代码中已经指定了 profile

1
2
3
4
5
6
7
cloud:
config:
discovery:
enabled: true
service-id: config-server
label: master
profile: ${spring.profiles.active:dev}

所以理所当然的认为不需要指定 spring 的 active 了,就把 active 给删掉了(如下):

1
2
3
spring:
profiles:
active: dev

发布到 maven 仓库后,重新测试没啥问题。结果过了个周末来了再编译,发现程序无法启动了,找了很多原因才发现是上边的操作导致的。

后来将配置改了回来,发现还是不行,又鼓捣了好久发现这次的问题是 gradle 编译缓存的问题,通过这个网站: https://pkaq.gitbooks.io/gradletraining/content/book/ch5/4.%E4%BE%9D%E8%B5%96%E7%9A%84%E6%9B%B4%E6%96%B0%E4%B8%8E%E7%BC%93%E5%AD%98.html 找到了解决办法,编译的时候在后边加上 --refresh-dependencies 可以强制刷新缓存。

虽然问题解决了,但是我还有个疑问,我们的 starter 明明已经指定版本号为 0.0.1-SNAPSHOT 了,按理说应该在 build 的时候无条件的重新拉取最新的依赖,但是这个时候为什么没有生效?