博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot项目不同环境的打包方案
阅读量:4096 次
发布时间:2019-05-25

本文共 1032 字,大约阅读时间需要 3 分钟。

分两个场景进行阐述:

一、单工程

通常分为开发环境(dev)和生产环境(prod)。让我们开始吧!

1、在src/main/resources/下面创建两个文件application-dev.yml,application-prod.yml。两个文件里面分别写开发和生产环境的配置参数,如:

2、所有程序需要的配置参数已经写到配置文件里面了,那么原来的application.yml就不能再写这些配置参数了。它的作用是要指定编译打包时读取哪个配置文件,因此只要写入:

表示读取application-dev.yml。如果把dev改成prod则表示读取application-prod.yml。这样就实现了不同环境的打包方案。

二、多个子工程时如何实现

1、在子工程的application.yml里面配置个性化的部分,如:

公共部分如mysql数据库参数配置项放到公共的配置文件application-common.yml文件里面。编译打包时为了加载它,就要在application.yml里面加上一句:spring.profiles.include=common,(yml的写法请自行转换)。

2、再来看application-common.yml怎么个写法,通常可以把mysql配置参数、redis配置参数、oss、sms等共同需要的配置写在里面。然而我们同样需要分开发、测试、生产等多个环境,不同环境配置参数取值是不同的,所以这里只写入一句:spring.profiles.active=@environment@,(yml的写法请自行转换),这里的environment是变量,它会被dev、test、prod替换,怎么替换后面再说。

3、再创建不同环境对应的配置文件:application-dev.yml、application-test.yml、application-prod.yml。common文件里面的environment变量值会决定加载那个文件。

4、像mysql,redis等公共配置参数可以写到application-common.yml文件里面,参数值用变量,如下:

加载时从dev或者test或者prod的yml文件读取,如dev的yml内容:

5、至此就可以通过maven命令来给不同环境编译打包了。为了更方便,要把不同环境的打包命令写到脚本里面,如下:

脚本内容参考如下:

可以看到-Pprod就是environment的值。

转载地址:http://bzlii.baihongyu.com/

你可能感兴趣的文章
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!...
查看>>
乔布斯18岁求职信拍卖价22.24万美元,值吗?
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
假如计算机是中国人发明的,那代码应该这么写
查看>>
科技公司最爱的 50 款开源工具,你都用过吗?
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>
面试官:简历上敢写技术精通?那我就不客气了!
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
200页!分享珍藏很久的Python学习知识手册(附链接)
查看>>
程序员之神
查看>>
4 岁小女孩给 Linux 内核贡献提交
查看>>
推荐几个私藏很久的技术公众号给大家
查看>>
20 个 2020 年软件开发趋势预测
查看>>
王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
查看>>