本地环境标识设置
本地父类maven配置
可以看到相关的分类,设置环境标识主要需要用到profiles
;
<profiles><profile><id>dev</id><properties><!-- 环境标识,需要与配置文件的名称相对应 --><profiles.active>dev</profiles.active><nacos.server>xx.xx.xx.xx:8848/</nacos.server><nacos.discovery.group>DEFAULT_GROUP</nacos.discovery.group><nacos.config.group>DEFAULT_GROUP</nacos.config.group></properties><activation><!-- 默认环境 --><activeByDefault>true</activeByDefault></activation></profile></profiles>
配置说明: 可以设置多套环境
- active:设置活跃环境名称,dev/pro/test等
- nacos:全局配置nacos的远程地址,服务发现和配置的默认组
- activation.activeByDefault:设置当前默认环境
刷新完成就可以看到maven的显示:
标识使用
服务下的yaml文件设置:
spring:#在nacos中对应的dataID名application:#应用名称name: lottery-strategyprofiles:# 环境配置active: @profiles.active@
--- # nacos 配置
spring:cloud:config:override-none: trueallow-override: trueoverride-system-properties: falsenacos:# 注册地址server-addr: @nacos.server@discovery:# 注册组group: @nacos.discovery.group@namespace: ${spring.profiles.active}config:# 配置组group: @nacos.config.group@namespace: ${spring.profiles.active}file-extension: yaml
为了使的上面的参数能够正常获取使用,maven
构建的时候需要设置文件的过滤(占位匹配)操作,这样在yaml
中才能生效替换;
<build><pluginManagement><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><annotationProcessorPaths><path><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><version>${spring.boot.version}</version></path><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></path></annotationProcessorPaths></configuration></plugin></plugins></pluginManagement><resources><resource><directory>src/main/resources</directory><!-- 引入所有 匹配文件进行过滤 --><includes><include>application*</include><include>bootstrap*</include><include>logback*</include></includes><!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 --><filtering>true</filtering></resource></resources></build>
nacos的文件配置
设置DataId,Data ID
它的定义规则是:${prefix}-${spring.profile.active}.${file-extension}
1、prefix
默认为 spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置。
2、spring.profile.active
即为当前环境对应的 profile
,可以通过配置项spring.profile.active
来配置。
3、file-exetension
为配置内容的类型(yaml
)