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内容符合预期

spring cloud nacos 配置多环境打包相关推荐

  1. Nacos Spring Cloud 实现配置热加载

    0x01:安装 Nacos 下载安装包, https://github.com/alibaba/nacos/releases 从下载 nacos-server-$version.zip 安装包. 解压 ...

  2. Spring Cloud Nacos整合 Seata 实现分布式事务

    1.Seata 介绍 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的 ...

  3. Spring Cloud + Nacos 三部曲之Discovery消费者

    1.Spring Cloud+Nacos 三部曲之Config 2.Spring Cloud + Nacos 三部曲之Discovery服务注册发现 3.Spring Cloud + Nacos 三部 ...

  4. 玩转Spring Cloud之配置中心(config server config client)

    玩转Spring Cloud之配置中心(config server &config client)  本文内容导航: 一.搭建配置服务中心(config server) 1.1.git方式 1 ...

  5. spring cloud + nacos + feign调用

    //by yan 20211119 需求: 简单建个项目,用来测试调用注册在nacos的服务接口. 步骤: idea -> new project-> Spring Initializr ...

  6. 【夯实Spring Cloud】Spring Cloud分布式配置中心详解

    本文属于[夯实Spring Cloud]系列文章,该系列旨在用通俗易懂的语言,带大家了解和学习Spring Cloud技术,希望能给读者带来一些干货.系列目录如下: [夯实Spring Cloud]D ...

  7. Spring Cloud Gateway配置熔断CircuitBreaker

    我们使用的SpringCloud版本是Hoxton.SR9,小于G版本的是不支持CircuitBreaker的 CircuitBreaker原理 CircuitBreaker是由一个有限状态机实现的, ...

  8. (七)Alian 的 Spring Cloud Config 配置中心(客户端)

    目录 一.背景 二.maven依赖 三.配置文件 四.验证 一.背景   通过上一篇文章,我们已经搭建了配置中心了,接下里我们继续改造我们的订单服务了,之前我们的订单服务的数据库配置还是写在配置文件中 ...

  9. vue 固定名称 打包时_vuecli3 配置多环境打包

    vue-cli3 配置多环境打包 近期由于公司项目需要在本地服务器和阿里云服务器两个地方搭建项目,因为本地服务器是内网无法访问在阿里云的微服务接口所以需要用到多环境配置,所以就研究了一下vue-cli ...

最新文章

  1. tomcat7修改内存 win_详解Windows下调整Tomcat启动参数的实现方法
  2. python 插值_三次样条插值在Python中的实现
  3. 再谈 iptables 防火墙的 指令配置
  4. self-在类的外部给对象增加属性
  5. 通过此注释改善您的JUnit体验
  6. cocostuff10k数据集介绍_(六)COCO数据集的简单介绍
  7. Dubbo底层采用Socket进行通信详解
  8. 冯诺依曼计算机的组成
  9. GBDT、Xgboost、LightGBM对比,异同点,并行策略
  10. 给开源项目贡献代码的经历
  11. Cocos2dx 3.0 过渡篇(二十六)C++11多线程std::thread的简单使用(上)
  12. python使用Tkinter库制作文件和文件夹创建功能
  13. 百度地图api之路线规划
  14. eNSP交换机配置IP
  15. k8s部署rabbitMQ集群
  16. 用matlab解根3乘根2,数学人教版七年级下册算术平方根教学设计.docx
  17. STEINS;GATE ELITE(中文名《命运石之门:精英》)游戏通关流程
  18. java绘制图片验证码两种方式实现,点击【图片】刷新和点击【看不清换一张】刷新
  19. R 软件的下载与安装
  20. 基于Java(SSH 框架)+MySQL 实现的物流配送管理系统【100010488】

热门文章

  1. 关于SQL反勾号或者叫飘号(``)
  2. python读取txt文件特定内容,并绘制折线图
  3. windows server下的 Nginx SSL 证书安装部署
  4. [Git]Git教程之msysgit(命令行形式)
  5. 获取当前时间的时间戳
  6. √ C# - 19.怎么使用反射(P528)
  7. SpringBoot 生成数据库设计文档工具
  8. php下载.xlsx,php下载excel文件
  9. 【过滤器和拦截器有什么区别】
  10. emgucv自适应二值化