IDEA+MAVEN(多环境配置)

原文链接: 别在网上乱找了,【idea+maven】多环境配置,不坑!! - 掘金

二、动手操作

2.1 spring.profiles.active配置

假设我们有如下的三个环境,开发dev、测试test、生产pro:

image.png

如上图,我们的配置文件命名方式是application-环境.yml

springboot提供如下的配置,让我们可以指定使用哪个配置文件:

spring:
    profiles:
        active: dev

如上所示,我们每次切换环境必然要修改其值,很是不变。所以我们通过在yml文件中配置变量的形式。在yml中使用变量的方式如下:

@变量@

我定义的变量如下:

spring:
  profiles:
    active: '@env@'

为什么添加单引号?

如果不添加的话,程序启动无法识别,会报错导致启动失败,遇到的话可以添加单引号解决:

image.png

2.2 如何使用‘@env@’?

在上一小节定义的@env@究竟如何使用呢?如下所示,我们需要在项目的pom.xml文件增加如下的配置,如果项目存在module,只需要添加到父工程的pom文件就行了,含义我都写在注释里面了:

<!--配置不同的profile,对应不同的生产环境-->
<profiles>
    <profile>
        <!--开发-->
        <id>dev</id>
        <activation>
            <!--默认开发环境-->
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <!--      自定义的变量名称env作为标签,标签内是我们配置文件不同环境的后缀          -->
            <env>dev</env>
        </properties>
    </profile>
    <profile>
        <!--生产-->
        <id>pro</id>
        <properties>
            <env>pro</env>
        </properties>
    </profile>
    <profile>
        <!--测试-->
        <id>test</id>
        <properties>
            <env>test</env>
        </properties>
    </profile>
</profiles>

2.3 重要配置

这个配置是很多网上此类文章没有提到的,我估计的原因是他们的项目本来就有这个配置,所以只加入2.2的配置就好使了。

这针对很多初学者可不友好,所以我把这个配置也列出来放在这里,下次需要用,直接拿去就好了:

<build>
    <plugins>
        <plugin>
            <!--   springboot使用maven打包的插件          -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <!--   指定配置文件的位置  -->
            <directory>src/main/resources</directory>
            <includes>
                <!--   读取resources下的所有文件,include表示指定文件内的,相对的还有excludes ,排除其下的文件 -->
                <include>**/*</include>
            </includes>
            <!-- 开启替换标签,比如我们的'@env'就是通过这个替换的         -->
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

2.4 启动项目

全部的配置完成了,我们可以通过如下的方式指定使用哪种环境:

image.png

如上如我们指定的是pro环境,启动项目看看日志输出的内容:

image.png

打包直接咋idea的maven中打包就好了:

image.png

注意打包时第一条日志的最后位置,是我们选择的pro:

image.png

三、总结

至此,整个介绍就结束了,下次在遇到不用到处找了,直接收藏本篇吧。

简述下过程:

  • yml文件中的 spring.profiles.active配置变量 @变量@
  • pom.xml 配置profiles,跟环境数量相同
  • 配置build标签内容资源获取路径,及变量替换

本带源码地址:gitee.com/wei_rong_xi…                        

 原文:别在网上乱找了,【idea+maven】多环境配置,不坑!! - 掘金

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值