使用maven的profile区分本地环境和线上环境

多环境开发,使用maven-profile,就可以在打包的时候通过参数的调整,最终打的包也不同。

以区分本地数据库和线上数据库为例
比如测试环境,用的是本地测试数据库;生产环境用的是线上生产库
针对不同库的url,userName,password,就可以配两套,通过profile区分,然后打包的时候就可以区分了

具体使用:

1.在pom.xml中,配置如下:

<project XXXXXXXX>......其他配置<dependencies></dependencies><profiles><profile><id>local</id><properties><profiles.active>local</profiles.active></properties></profile><profile><id>production</id><properties><profiles.active>production</profiles.active></properties></profile></profiles>
</project>

2.在配置加载properties文件的时候,做区分

    <bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer"><property name="locations"><list><value>classpath:application-${profiles.active}.properties</value></list></property></bean>

3. 新建两个properties文件,分别配置:

    application-local.properties(以后本地配置的信息都在这里)mysql.url=本地url;mysql.userName=admain;mysql.password=admain;application-production.properties(以后线上配置的信息都在这里)mysql.url=线上url;mysql.userName=线上用户名;mysql.password=线上密码;
这里的local和production与pom.xml中的profiles.active标签的值一一对应

4.配置dataSource

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="${mysql.url}" /><property name="username" value="${mysql.user}" /><property name="password" value="${mysql.password}" />
</bean>

5.打包

使用maven package -P local打包,那么最终数据源就会使用本地的
使用maven package -P production打包,那么最终数据源就会使用线上的
这里的local和production与pom.xml中的id标签的值一一对应

使用maven的profile区分本地环境和线上环境相关推荐

  1. 微信小程序:本地开发环境和线上环境配置

    在开发微信小程序的时候,需要配置: 本地开发环境 体验预览环境 审核版环境 生产环境 为了简化环境配置,我只区分了两个环境 本地开发环境 生产环境/体验预览环境审核版环境生产环境 参考文档 基础 /系 ...

  2. springboot 环境配置测试环境和线上环境配置

    第一种方式:都在中 application.yml配置,用  ---  隔开,这样可以表示独立的环境,用active引用 spring: profiles:active: test --- serve ...

  3. node开发环境(mac)和线上环境(linux)搭建

    以前一直在做php后台,对node没有认真研究,现在前端发展速度这么快,再加上node的飞速发展,javascript统一中原指日可待啊.em~~,废话不多说开始开发环境和线上环境搭建吧,写一下自己的 ...

  4. gson线上环境解析日期时报错JsonSyntaxException

    遇到问题: 问题发生在新功能上线的那一天,所有的测试工作都测试完了,测试还挺顺利,比以往结束的早很多,正高高兴兴的聊着今天可以早回家了. 正高兴着往ST环境部署,部署上去前端一测试却返回了服务器异常, ...

  5. 微信小程序从本地开发环境到线上测试环境和生产环境的配置

    这篇文章是对慕课网mpvue实战项目视频过程中环境的配置的总结与更新(因为小程序文档时不时就更新) 项目源码:https://github.com/suhuashan/bookCommentSyste ...

  6. 小程序-本地环境搭建-线上测试搭建-线上正式环境搭建

    本地环境搭建 本地环境只能自己测试 小程序的url设置为localhost.127.0.0.1.或者xxx.xxx.com/api (需要配置hosts)都可以,本地的地址,不需要在小程序后台配置,l ...

  7. quartz 本地有效,线上失效的问题

    问题: 最近开了一个新项目,spring boot 整合了quartz,出现了一个问题,就是当项目连接到本地电脑的数据库时,一切正常.但是当项目连接远程linux上的数据库的时候,发现定时任务不灵了, ...

  8. doctor mysql数据导入_线上环境mysql主从同步的搭建过程

    之前搭建过一套主从同步的mysql集群,但是是基于新数据库,而这次线上环境要升级成主从同步的集群,记录一下升级过程和中间遇到的各种问题. 由于是直接对线上数据库进行修改,因此要保证对线上环境造成尽量小 ...

  9. Keepalived+Nginx实现高可用,反向代理---模拟实现线上环境

    [前言] 在对Keepalived+Nginx进行了研究后,将这项技术推广上线,并配合运维进行网站搭建起来.经过一段时间的运行线上环境 运行已经稳定,不过自己还需要进行更加深入的研究:那么如何模拟线上 ...

最新文章

  1. 多线程并发:每个开发人员都应了解的内容
  2. Set 的合集 并集 差集
  3. FreeRTOS 临界区总结
  4. 小学4年级计算机课,小学四年级信息技术课件
  5. 第02讲:夯实根基,Web 网页基础
  6. CVPR 2019 | 微软亚研院提出用于语义分割的结构化知识蒸馏
  7. JVM GC日志说明
  8. em算法 实例 正态分布_人人都能看懂的EM算法推导
  9. php怎么判断文件在下载,php文件下载显示找不到文件怎么办
  10. Lodop6.226_Clodop3.075.zip
  11. 使用可道云kodbox在ubuntu云服务器上搭建自己的私有云盘(详细教程)
  12. 豪斯曼检验matlab,固定效应的虚拟变量被忽略、豪斯曼检验结果为0.000
  13. 拼接大屏数据展示_大屏拼接可视化
  14. 从ELK/EFK到PLG – 在EKS中实现基于Promtail + Loki + Grafana容器日志解决方案
  15. 视频压缩后大小没变怎么办?视频压缩后大小没变是为什么?
  16. 手机图片到底要做多宽才可以适应所有手机屏幕的尺寸?
  17. vue拼接html并绑定点击事件
  18. 第二章华氏度摄氏度转换
  19. 联想卡在logo界面_联想笔记本开机卡在lenovo画面无法进入桌面
  20. 欧式距离和马氏距离的关系(公式推导)

热门文章

  1. Django - 内置admin
  2. 传入一个MapString,Long 返回它按value排序后的结果
  3. 洛谷 P1091 合唱队形
  4. gridview 简单的分页
  5. INTRODUCTION TO NONELINEAR OPTIMIZATION Excise 5.2 Freudenstein and Roth Test Function
  6. linux编写复制脚本程,常用的Shell脚本
  7. oracle13001,安装oracle11g 遇到INS-13001环境不知足最低要求 解决方法
  8. java水果超市mysql_Java基础 | 项目实战之水果超市
  9. PyTorch框架学习四——计算图与动态图机制
  10. Python学习笔记(运算符)