springboot结合maven配置不同环境的profile方式
目录
- springboot结合maven配置不同环境的profile
- 1、在spring-boot中新建配置文件
- 2、在application.yml中增加属性
- 3、在pom.xml中添加不同的profile
- 4、测试
- springboot maven多环境配置
- 环境
- 1、在resources下创建/dev文件夹
- 2、在pom.xml文件加入相关配置如下
springboot结合maven配置不同环境的profile
1、在spring-boot中新建配置文件
文章图片
spring-boot不同环境配置文件格式为application-{profile}.yml
说明:
如果application.yml中的配置和application-{profile}.yml相冲突时,application.yml中的配置会被覆盖掉。
2、在application.yml中增加属性
spring:profiles:active: @spring.profiles.active@
说明:如果想要获取mvn中设置的属性变量,需要使用@mvn变量名@(该方式为mvn的默认filter方式,
如果想要更改方式,可以配置自定义filter),不能使用${mvn变量名},否则无法获取到
文章图片
如果你
3、在pom.xml中添加不同的profile
dev truedevprod prod
说明:该配置添加了两个profile,一个dev,一个prod分别对应application-dev.yml和application-prod.yml
4、测试
- Maven启动,指定mvn中的Profile通过-P,如mvn spring-boot:run -Pdev
- Maven打包,指定mvn中的Profile通过-P,如mvn package -Pdev -DskipTests
如果想要自定过滤器,可以使用mvn的maven-resources-plugin插件,具体说明参考这里
springboot maven多环境配置
环境
- 本地环境(dev)
- 测试环境(test)
- 预生产环境(pre-pro)
- 生产环境(pro)
SpringBoot有profiles功能的支持,我们将此功能加入进来
1、在resources下创建/dev文件夹
在dev文件夹下创建application.properties和application-dev.properties
在resources下创建dev、teest、pro等文件夹是为了maven打包多环境用的.
在本地开发运行时需要在resources下创建一个和打包环境文件夹里相同的文件,因为profiles原因所以需要,创建dev、test、pro是为maven打包用的,而在resources下创建相关文件是为了多功能环境开发或者调试用的
#application.properties文件内容spring.profiles.active=dev------------------------分割线----------------------------#application-dev.properties文件内容#数据库相关配置spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver具体配置各求所需,这里就不一一列举了
测试和生产大同小异,同上只需修改配置值即可,dev对应本地配置、test对应测试配置、pro对应生产配置
application-xx.properties 为固定写法,比如application-test.properties就是测试环境配置文件的命名
2、在pom.xml文件加入相关配置如下
此配置加入到 < build > 标签里
#profiles配置和 src/main/resources pro/* dev/* test/* true src/main/resources/${profiles.active} 同级 dev devtrue【springboot结合maven配置不同环境的profile方式】test testpro pro
然后选中对应的环境执行maven相关操作即可,博主用的IDEA
文章图片
如果您用的是eclipse的话,执行maven命令即可,如:clean package -Ppro就是打包pro环境
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- springboot整合security和vue的实践
- Springboot/java|SpringBoot 中@Controller/@RestController/@RequestMap注解的使用
- Spring中Bean的加载与SpringBoot的初始化流程详解
- springboot项目java自动打包部署到服务器上思路
- .Net结合JS实现URL编码与解码
- 【SpringBoot实战】核心配置和注解
- java项目精品实战案例|基于Java+SpringBoot+vue+element实现前后端分离蛋糕商城系统详细设计
- 高效使用Java构建工具,Maven篇|云效工程师指北
- springboot实现返回视图而不是string的方法
- 高效使用Java构建工具|Maven篇|云效工程师指北