springboot只打包当前环境的配置文件

1.场景

SpringBoot配置多环境后,使用mvn clean package -Dmaven.test.skip=true -Pprod打包,还是会把所有配置文件都打包(如果不懂SpringBoot多环境配置,可参考(https://blog.csdn.net/weixin_40791454/article/details/108612192)

2.步骤

1.创建不同环境的属性文件
在这里插入图片描述
2.build标签,使用filter

 <build>
    <finalName>${project.artifactId}</finalName>
    <filters>
      <filter>src/main/filters/filter-${env}.properties</filter>
    </filters>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
复制代码

3.使用命令打包指定环境,或者在idea操作即可
mvn clean package -Dmaven.test.skip=true -Ptest
4.打包只有一个配置文件,并且将该环境的属性配置映射过来
在这里插入图片描述

3.总结

pom过滤当前环境的属性文件,application使用该属性文件,如果没有指定环境,默认为dev

4.可能会出现的错误

可能会报application.yml的错误,加入以下依赖即可

 <dependency>
        <groupId>org.yaml</groupId>
        <artifactId>snakeyaml</artifactId>
        <version>1.27</version>
      </dependency>
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享