spring boot maven环境隔离配置和打包
第一步:在spring boot配置文件中配置需要启用的配置文件 第二步:启动工程测试,查看被激活使用的文件 可以看到test文件被激活 第三步:打包测试,查看被打进包里面的配置文件,发现所有的文件都被打进去了 把该jar包拿到linux下执行,发现application-test.yml会被激活使用
第四步:maven打包,去除多余的配置文件 application.yml中配置profileActive变量
spring: profiles: active: @profileActive@
pom.xml中配置 在节点中配置如下代码
<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <!-- 打包时所包含的配置文件 --> <includes> <include>application.yml</include> <include>application-${profileActive}.yml</include> </includes> </resource> </resources>添加节点配置,该配置与节点同级
<profiles> <!-- 开发环境 --> <profile> <id>dev</id> <properties> <profileActive>dev</profileActive> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> <!-- 测试环境 --> <profile> <id>test</id> <properties> <profileActive>test</profileActive> </properties> </profile> <!-- 生产环境 --> <profile> <id>prod</id> <properties> <profileActive>prod</profileActive> </properties> </profile> </profiles>配置完之后,发现IDEA多了Profiles选项
解压jar包查看,发现选中的配置文件application-test.yml被打进去了,application.yml默认会打进包里
