maven+spring boot 多环境多配置,目录结构切换

maven多环境配置文件,生产环境,开发环境,测试环境的配置文件resource目录如图: 需要动态切换的是application.yml和properties文件

在这里插入图片描述

pom.xml的配置如下

  <!-- 开启读取多环境配置 -->
   <build>
     <resources>
            <resource><!--此处的设置是打包的时候排除不相关的目录-->
                <directory>src/main/resources/config</directory>
                <!--此处设置为上面在resources目录下创建的文件夹-->
                <excludes>
                    <exclude>dev/*</exclude>
                    <exclude>test/*</exclude>
                    <exclude>prod/*</exclude>
                </excludes>
                <!--开启过滤器,此处不能忽略!-->
                <filtering>true</filtering>
            </resource>
            <!--此处的设置是为了将放置于resources文件夹下mybatis的mapper文件正常打包进去,和一些不需要多环境的配置文件-->
            <resource>
                <!--如果将mybatis的mapper文件放在dao接口的同目录下,应该将此处设置为src/main/java-->
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>aa.jks</include>
                    <include>logback.xml</include>
                    <include>public.txt</include>
                    <include>aa.json</include>
                    <include>static/**</include>
                </includes>
                <!--此处不需要过滤器过滤-->
                <filtering>false</filtering>
            </resource>
            <!--此处设置是配置相应配置文件夹的路径(profiles.active是自己定义的,和下边的profile对应即可)-->
            <resource>
                <directory>src/main/resources/config/${profiles.active}</directory>
            </resource>
      </resources>
  </build>


 <profiles>
    <profile>
      <id>dev</id>
      <properties>
        <profiles.active>dev</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>


打包的时候:
自己的命令,后边加 - P dev 这个命令即可
P是大写,后边的dev代表自己要打包的环境的名称(匹配好自己定义的)

注意:
除了需要动态配置的配置文件之外,resource里面还有很多其他的文件夹:如rules里面的校验,mapper里面的sql,还有static里面的静态资源等。
如果不按照以上配置,会提示mapper的sql找不到,页面访问404,日志文件配置读不到等多种问题。

最后:
对比我的文档结构和配置,调整自己的文档结构和配置
配置不是全部复制下来就可以的了,还是要结合自己的实际情况相应修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值