解决在SpringBoot设置的变量属性 spring.profiles.active不起作用

解决在SpringBoot设置的变量属性 spring.profiles.active不起作用


spring.profiles.active不起作用)

前因后果

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

项目准备上线测试发现之前反复修改配置很烦,而且还老是会忘记

pring boot允许你通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件,然后通过在application.properyies通过spring.profiles.active来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。

profile的配置文件可以按照application.properyies的放置位置一样,放于以下四个位置:

  1. 当前目录的 “/config”的子目录下;
  2. 当前目录下;
  3. classpath根目录的“/config”包下;
  4. classpath的根目录下

本人使用场景

  1. 首先在我们的maven仓库添加上必要的依赖
    SpringBoot
//依赖
 <profiles>
        <!--开发环境 -->
        <profile>
            <id>druid</id>
            <properties>
                <profiles.active>druid</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <!--测试环境 -->
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>test</profiles.active>
            </properties>
        </profile>
        <!--生产环境 -->
        <profile>
            <id>prod</id>
            <properties>
                <profiles.active>prod</profiles.active>
            </properties>
        </profile>
    </profiles>
  1. 添加依赖后在idea maven 插件中会显示你的环境
  2. 在这里插入图片描述
  3. 然后你的配置文件复制几份,我这里是复制2份,因为之前我是有开发环境的,所以我只需要在添加生产(prod)环境和测试(环境)test,注意复制文件名改成对应的
    在这里插入图片描述
  4. 准备工作做好后,我们修改主配置文件的 active属性 (active: “@profiles.active@” )
    在这里插入图片描述
    然后我就帅气的启动了我的项目,却一直读取不到我的配置文件(如同)
    在这里插入图片描述
    检查半天,始终查不到不起作用的原因,最后发现在pom文件中添加如下代码后,便可以了。

在这里插入图片描述

// 在resource目录文件中有这些文件,而且也能生成到target中
     <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!--用于替换resources里的变量-->
                <filtering>true</filtering>
            </resource>
        </resources>
        <finalName>${project.artifactId}</finalName>

最后在启动项目就没问题了。

IDEA项目文件中.idea文件夹和.iml文件含义及作用里写自定义目录标
[1]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
[2]: https://mermaidjs.github.io/
[3]: https://mermaidjs.github.io/
[4]: http://adrai.github.io/flowchart.js/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值