项目部署为springcloud形式,有两个module,fn和common;其中fn依赖common而且会注入common配置文件定义的一些值
模块都是多环境配置的,在这里啰嗦一下配置文件的加载优先级:
大概是这样,如有纰漏请纠正;而且子模块是可以获取pom依赖包中配置的配置信息的
resources/config/bootstrap.properties>resources/bootstrap.properties>resources/config/application.properties>resources/application.properties
然后启动fn服务的时候,一直报错:图忘记截取了,就是spring.datasource.shop.url加载不到
搞得我打包了好多遍,并且确认了环境变量是一致的,即两个服务都是基于dev服务的,然而还是不行
这时就在怀疑是不是打包没生效(虽然控制台build success了),然后就去把target显示出来:
然后看两个服务target目录下打的包是否正确
果然不正确,于是又重新通过idea右边的maven命令框去重新打包,可是依然生成的是错误环境的文件,导致去加载common服务的时候,也是取的common服务的debug01环境的配置文件,即bootstrap-debug01.properties;问题是common服务打的包是没问题的,即生成的是bootstrap-dev.properties文件;这就导致加载不到bootstrap-debug01.properties完不成依赖注入进而报错。
后来我直接通过命令行去打包,该命令查看环境切换是否正确,没错是dev环境的
然后直接mvn clean install就行了,这时,target下终于正确加载了application-dev.properties,进而去加载bootstrap-dev.properties文件启动成功
关于为什么maven图形化命令工具没生效的原因暂时还没搞清楚,只是告诉大家,还是要眼见为实,不能轻易相信一些工具类啊,如果各位有知道不生效的原因的还请赐教