resource目录下有如下bootstrap.yml配置文件
# @xxx@ 从pom.xml中取值, 所以 @xx@ 标注的值,都不能从nacos中获取
zuihou:
nacos:
ip: ${NACOS_IP:@pom.nacos.ip@}
port: ${NACOS_PORT:@pom.nacos.port@}
namespace: ${NACOS_ID:@pom.nacos.namespace@}
spring:
main:
allow-bean-definition-overriding: true
application:
name: @project.artifactId@
profiles:
active: @pom.profile.name@
cloud:
nacos:
config:
server-addr: ${zuihou.nacos.ip}:${zuihou.nacos.port}
file-extension: yml
namespace: ${zuihou.nacos.namespace}
shared-configs:
- dataId: common.yml
refresh: true
- dataId: redis.yml
refresh: false
- dataId: mysql.yml
refresh: true
- dataId: rabbitmq.yml
refresh: false
enabled: true
discovery:
server-addr: ${zuihou.nacos.ip}:${zuihou.nacos.port}
namespace: ${zuihou.nacos.namespace}
metadata: # 元数据,用于权限服务实时获取各个服务的所有接口
management.context-path: ${server.servlet.context-path:}${spring.mvc.servlet.path:}${management.endpoints.web.base-path:}
# 只能配置在bootstrap.yml ,否则会生成 log.path_IS_UNDEFINED 文件夹
# window会自动在 代码所在盘 根目录下自动创建文件夹, 如: D:/data/projects/logs
logging:
file:
path: /Users/brockzhang/vasense/logs
name: ${logging.file.path}/${spring.application.name}/root.log
# 用于/actuator/info
info:
name: '@project.name@'
description: '@project.description@'
version: '@project.version@'
spring-boot-version: '@spring.boot.version@'
spring-cloud-version: '@spring.cloud.version@'
pom.xml文件
<profiles>
<!-- 开发 -->
<profile>
<id>dev</id>
<activation>
<!--默认激活配置-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!--当前环境-->
<pom.profile.name>dev</pom.profile.name>
<!--Nacos配置中心地址-->
<pom.nacos.ip>写你自己的ip</pom.nacos.ip>
<pom.nacos.port>8848</pom.nacos.port>
<!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
<pom.nacos.namespace>写自己的</pom.nacos.namespace>
<pom.seata.namespace></pom.seata.namespace>
</properties>
</profile>
<!-- docker 环境 -->
<profile>
<id>docker</id>
<properties>
<pom.profile.name>docker</pom.profile.name>
<!--Nacos配置中心地址-->
<pom.nacos.ip>自己的ip</pom.nacos.ip>
<pom.nacos.port>8848</pom.nacos.port>
<!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
<pom.nacos.namespace>写自己的</pom.nacos.namespace>
<pom.seata.namespace>写自己的</pom.seata.namespace>
</properties>
</profile>
<!-- 生产 -->
<profile>
<id>prod</id>
<properties>
<pom.profile.name>prod</pom.profile.name>
<!--Nacos配置中心地址-->
<pom.nacos.ip>127.0.0.1</pom.nacos.ip>
<pom.nacos.port>8848</pom.nacos.port>
<!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
<pom.nacos.namespace>写自己的</pom.nacos.namespace>
<pom.seata.namespace>写自己的</pom.seata.namespace>
</properties>
</profile>
</profiles>