首页 > Java > java教程 > 正文

Spring Boot结合IDEA自带Maven插件怎么快速切换profile

王林
发布: 2023-05-14 08:37:05
转载
1628 人浏览过

一、前言

IDEA是目前 Java 开发者中使用最多的开发工具,它有着简约的设计风格,强大的集成工具,便利的快捷键。

在项目项目整个开发运维周期中,我们的的项目往往需要根据不同的环境,使用不同的文件配置。

比如以下部分:

  • 默认:application.properties/yml

  • 共用配置:application-common.properties/yml

  • 开发环境:application-dev.properties/yml

  • 生产环境:application-prod.properties/yml

  • 测试环境:application-test.properties/yml

在实际使用中通过在application.yml文件中配置:

spring:
  profiles:
    active: dev
登录后复制

application.properties文件中配置:

spring.profiles.active=dev
登录后复制

置后Spring Boot会激活application-${active}.properties/yml的配置文件。

如此一来每次我们需要切换环境时只需要修改此配置即可。但此方式也明细的不足,比如:每次切换环境时都需要修改此配置,在修改后也存在文件误传Git的风险,单体项目来说尚可接受,但对于Spring Cloud微服务项目而言操作就很麻烦了。

二、配置详情

结合IDEA自带的maven插件来实现不同配置的切换,每次切换环境只要勾选就行了。

Spring Boot结合IDEA自带Maven插件怎么快速切换profile

2.1 pom.xml修改

新增以下内容:

<build>
    <resources>
	    <resource>
	    	<directory>src/main/resources</directory>
            <!-- 指定目录下的文件通过maven过滤器 -->
	    	<filtering>true</filtering>
	    </resource>
    </resources>
</build>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profile.active>dev</profile.active>
            <nacos.username>nacos</nacos.username>
            <nacos.password>nacos</nacos.password>
        </properties>
        <activation>
            <!-- 默认环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profile.active>test</profile.active>
            <nacos.username>nacos</nacos.username>
            <nacos.password>nacos</nacos.password>
        </properties>
    </profile>
</profiles>
登录后复制

Maven过滤器会替换文件中的占位符@变量名@,可以查看编译后的文件,原本的占位符被变量值所替代。

2.2 bootstrap.yml/application.yml修改

spring:
  profiles:
    active: @profile.active@
登录后复制

注:占位符 ‘@maven中配置的变量名@’,我的名称为profile.active

以上是Spring Boot结合IDEA自带Maven插件怎么快速切换profile的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:yisu.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板