微服务项目将Nacos地址、命名空间、环境等配置信息,统一放在pom.xml管理教程

一、pom文件添加环境配置

<!-- 环境 -->
    <profiles>
        <!-- 本地 -->
        <profile>
            <id>local</id>
            <activation>
                <!--默认激活配置-->
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!--当前环境-->
                <profile.name>local</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>192.168.0.112:8847</config.server-addr>
                <config.space>Public</config.space>
            </properties>
        </profile>
        <!-- 开发 -->
        <profile>
            <id>dev</id>
            <activation>
                <!--默认激活配置-->
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <!--当前环境-->
                <profile.name>dev</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>192.168.0.112:8847</config.server-addr>
                <config.space>Public</config.space>
            </properties>
        </profile>
        <!-- 测试 -->
        <profile>
            <id>test</id>
            <properties>
                <!--当前环境-->
                <profile.name>test</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>192.168.0.112:8847</config.server-addr>
                <config.space>14304a80-d0f8-4538-a355-595a1f8da91e</config.space>
            </properties>
        </profile>
        <!-- 生产 -->
        <profile>
            <id>prod</id>
            <properties>
                <!--当前环境-->
                <profile.name>prod</profile.name>
                <!--Nacos服务地址-->
                <config.server-addr>192.168.0.112:8847</config.server-addr>
                <config.space>c80f3dc4-c68f-4bf2-859c-ec224d5a7b4a</config.space>
            </properties>
        </profile>
    </profiles>

只添加这些配置,启动项目会报错,如下

while scanning for the next token found character '@' that cannot start any token. (Do not use @ for indentation)  in 'reader', line 4, column 13:         active: @profileName@

需要在pom.xml的build标签中添加一段resource配置

 <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!--开启过滤,用指定的参数替换directory下的文件中的参数-->
                <filtering>true</filtering>
            </resource>

            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.json</include>
                    <include>**/*.ftl</include>
                </includes>
            </resource>
        </resources>

这段配置功能说明:

在Maven项目的pom.xml文件中定义的资源过滤配置。在Maven项目中,src/main/resources目录下的文件通常被视为资源文件,这些资源文件在构建项目时会被复制到输出目录(如target/classes),以便在运行时被访问。
在这个配置中:
元素用于定义一个资源目录及其配置。
第一个 元素指定了src/main/resources目录,它包含了true的配置,表示对该目录下的资源文件执行过滤操作。
第二个 元素指定了src/main/java目录,并通过指定了需要包含的文件类型(.xml、.json、.ftl)。这些文件也会被视为资源文件,并在构建过程中被复制到输出目录。
通过这样的配置,你可以灵活地控制哪些文件会被视为项目的资源文件,并在构建过程中将它们复制到合适的位置。而配置则允许你在构建过程中对资源文件执行一些替换操作,比如替换属性值或者变量。

根据上述配置完,就可以在自己项目的yml中引用变量。

spring:
  application:
    # 应用名称
    name: arun-gateway
  profiles:
    # 环境配置
    active: @profile.name@
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: @config.server-addr@
        #namespace: @config.space@
      config:
        # 配置中心地址
        server-addr: @config.server-addr@
        #namespace: @config.space@
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nacos服务配置中心是Nacos提供的一项功能,用于统一管理和读取微服务配置信息。在微服务架构中,每个微服务都有自己的配置文件,而配置中心则负责集中管理这些配置文件。通过配置中心,我们可以方便地对各个微服务配置进行统一维护和管理。 要使用Nacos配置中心功能,首先需要在服务端配置好服务的配置文件。在Nacos服务端中,可以创建不同的命名空间用于隔离开发环境,生产环境和测试环境等。默认情况下,Nacos提供了一个名为"public"的命名空间,如果没有单独配置命名空间,所有的配置信息都会在public命名空间中。 为了实现微服务客户端拉取配置中心的信息,需要在客户端项目中添加Nacos配置中心的依赖。具体依赖配置可以在项目pom.xml文件中添加如下代码: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 在客户端的bootstrap.yml文件中,需要配置Nacos配置中心的相关信息,包括Nacos注册中心地址配置中心地址文件扩展名和命名空间等。示例如下: ```yaml spring: cloud: nacos: discovery: server-addr: 39.100.116.73:80 config: server-addr: 39.100.116.73:8851 file-extension: yaml namespace: 507945ce-1b37-4d59-90aa-f2707fee0013 ``` 其中,`server-addr`指定了Nacos注册中心和配置中心的地址,`file-extension`指定了配置文件的扩展名,`namespace`指定了命名空间ID。 通过以上配置,客户端就可以从Nacos配置中心中获取配置信息,并应用到相应的微服务中。这样,不同的微服务就可以共享配置中心中的配置文件,实现了配置统一管理和读取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值