maven占位符相关可参考Maven更换配置文件默认占位符_Marclew_的博客-CSDN博客
一、父POM
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.2</version>
</dependency>
<profiles>
<profile>
<id>dev</id>
<properties>
<build.profile.id>dev</build.profile.id>
<!-- naco 配置-->
<nacos-server-addr>ENC(m9QUmAsoDIFWpjxAa1ITG8sW0y34l/tqlkXuL2eGJW4=)</nacos-server-addr>
<nacos-username>nacos</nacos-username>
<nacos-password>ENC(44mSPFnz2ELASAYAs6j7acvDUCtZ6BPX/NiCUpQHk/o=)</nacos-password>
<nacos-namespace>5fb32w82-91b7-49eb-8807-c07asfd13f5b</nacos-namespace>
<!-- jasypt 密钥(盐)-->
<jasypt-encryptor-password>hsaQaZwSx</jasypt-encryptor-password>
</properties>
</profile>
<!--测试环境-->
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
<!-- naco 配置-->
<nacos-server-addr>ENC(m9QUmAsoWEDFpjxAo6ITG8sW0y34l/tqlkXuL2eGJW4=)</nacos-server-addr>
<nacos-username>nacos</nacos-username>
<nacos-password>ENC(41mSPFnz3ELE3AYAs5j8dsvDUCtZ6BPX/NiCUpEGk/o=)</nacos-password>
<nacos-namespace>61c1a044-1f9e-44ed-1b3a-ae7665874022</nacos-namespace>
<!-- jasypt 密钥(盐)-->
<jasypt-encryptor-password>hsaQaZwSx</jasypt-encryptor-password>
</properties>
<!-- 默认环境-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!--生产环境-->
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
<!-- naco 配置-->
<nacos-server-addr>ENC(IJcdShfnumaLyLUSCx1CQ9Lo+ytBJII2e/ST9A6NXHg=)</nacos-server-addr>
<nacos-username>nacos</nacos-username>
<nacos-password>ENC(32mSPFnz2ELE3AYAs6s1anvDUCtZ6KMH/NiCUpQHk/o=)</nacos-password>
<nacos-namespace>fac2c716-860c-4102-a2b7-86f47ac899b3</nacos-namespace>
<!-- jasypt 密钥(盐)-->
<jasypt-encryptor-password>hsaQaZwSx</jasypt-encryptor-password>
</properties>
</profile>
</profiles>
maven会出现所配置的环境
二、子pom
<!-- nacos 服务注册发现(客户端)依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<!-- nacos config 配置 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
三、yml配置文件
spring:
cloud:
nacos:
discovery:
# Nacos 服务发现与注册配置,其中子属性 server-addr 指定 Nacos 服务器主机和端口
server-addr: ${nacos-server-addr}
username: ${nacos-username}
password: ${nacos-password}
namespace: ${nacos-namespace}
config:
server-addr: ${nacos-server-addr}
username: ${nacos-username}
password: ${nacos-password}
# 注册到 nacos 的指定 namespace,默认为 public
namespace: ${nacos-namespace}
# 用于共享的配置文件
shared-configs:
- data-id: test.yaml
refresh: true
group: DEFAULT_GROUP
- data-id: test.yaml
refresh: true
group: DEFAULT_GROUP
# 常规配置文件
# 优先级大于 shared-configs,在 shared-configs 之后加载
# extension-configs:
# - data-id: test-demo.yaml
# refresh: true
# group: DEFAULT_GROUP
# jasypt 密钥
jasypt:
encryptor:
password: ${jasypt-encryptor-password}
algorithm: PBEWithMD5AndDES
iv-generator-classname: org.jasypt.iv.NoIvGenerator
# 目前环境
build:
profile:
id: ${build.profile.id}