maven--profile--根据环境引入配置(动态引入配置)--方法/实例
程序开发
2023-09-09 14:20:38
原文网址:maven--profile--根据环境引入配置(动态引入配置)--方法/实例_IT利刃出鞘的博客-CSDN博客
简介
本文用示例介绍maven如何根据环境来引入配置。
maven的profile与SpringBoot的profile的区别
SpringBoot的profile
- 作用:运行的时候,把哪几个配置包含进来。
- 如果有多个环境,需要在运行jar包的时候通过参数来指定,比如:java -jar test-1.0.0-SNAPSHOT.jar --spring.profiles.active=dev
maven的profile
- 作用:
- 指定打包的时候只打包哪个或哪几个环境
- maven是打包的工具,它的profile可以指定打包的时候只打包哪个或哪几个环境。例如:我只想打包test,就只把resources下边test的配置打包进去。
- 因为profile下边可以写dependencies等标签,所以可以在不同环境中使用不同的依赖。
- 比如:开发了个新功能,这个新功能是在自己的包里添加的(存放在maven私库中)则在开发对应的profile中升级此依赖的版本;等开发结束后,将测试对应的profile也升级此依赖的版本;测试通过后,则将生产对应的profile也升级此依赖的版本。
- 指定打包的时候只打包哪个或哪几个环境
- 运行jar包的时候就不需要指定参数了。
实例
pom.xml
配置如下两项:
- profiles节点
- build -> resources节点
4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.0.RELEASE com.example demo_SpringBoot 0.0.1-SNAPSHOT demo_SpringBoot Demo project for Spring Boot 1.8 org.springframework.boot spring-boot-starter-web dev dev true test test prod prod org.springframework.boot spring-boot-maven-plugin src/main/resources application*.yml true src/main/resources application.yml application-${profileActive}.yml true
结果
这样配置之后,Idea的maven可以展示出profiles选项:
配置文件
application.yml
spring:profiles:active: @profileActive@
.yml或者.properties通过@xxx@的方式引入pom.xml里边的内容。
比如,如果上一步中箭头处选择了test,则本处spring.profiles.active就是test
applicaiton-xxx.yml
里边可以先不写东西。
测试
选择prod,然后打包:
结果:(确实只将相应的配置文件打包进来了)
查看demo_SpringBoot-0.0.1-SNAPSHOT.jar
总结
标签:
上一篇:
IDEA 设置 基于ESlint的代码格式化
下一篇:
相关文章
-
无相关信息