栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring cloud nacos 配置多环境打包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring cloud nacos 配置多环境打包

spring cloud nacos 配置多环境打包

一、前言

  • 因需要将项目打包给N多第三方,他们有各自的nacos地址,又需要实现代码无侵入(配置文件存在很多版本如 application-tocdev.yml、application-tobdev.yml等等。打好的jar包给toc的不能包含tob的配置)。
  • 其中配置文件就是指向的nacos地址,具体配置放于nacos中。
  • 而笔者在搭建过程遇到很多坑,特意记录下,有遇到相同问题的道友可直接借鉴。

二、方案1
使用application-**.yml与实现多环境配置
这种是完全行不通的,只要使用了nacos配置中心,就不能使用此种方式实现多环境配置
看下面官方说明:
有道友可能会问 为什么必须使用bootstrap.properties/yml?
官方并没有解释清楚,个人理解 bootstrap.yml 由 父Spring ApplicationContext加载,bootstrap.yml是系统级的配置,application.yml是应用级的配置,也就是bootstrap.yml先于application.yml加载。而在使用spring cloud 时,nacos作为配置中心,一些配置都需要从nacos中获取,这就使得必须提前引导配置nacos地址,理所应当由bootstrap.yml来加载nacos相关配置。

三、方案2
使用maven管理,新增bootstrap.yml,配置nacos地址。通过读取pom.xml定义的变量。

虽然可以行得通,不过与需求不太符合,打包后的jar包中,pom.xml存在其他nacos地址。

四、终极方案3
在bootstrap系统级配置中,配置nacos多个地址,并配合maven构建时打包对应的配置文件


最后maven 命令如下

clean compile package  install -Dmaven.test.skip=true -D profiles.active=huafaprod

最终jar内容符合预期

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号