博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven工程的多环境配置方案(profile)
阅读量:6920 次
发布时间:2019-06-27

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

 

前言:

  写一篇水文来打发下时间吧^_^. 在应用开发中, 总会遇到开发/测试/预发布/线上环境, 其环境不同, 其具体的配置项也有所不同, 因此如何快速的切换各个环境配置, 进行打包配置, 成了一个小痛点.
  本文主要讲述基于maven构建的java工程(基于spring), 如何实现多环境配置, step by step.

 

多环境配置:

  把多环境的配置文件集中起来, 比如按如下方式整合于工程代码.
  
  需要被打包替换的配置文件app.properties文件存于src/main/resource/conf下, 其内容为:

key.name=${key.name}key.value=${key.value}

 

profile标签:

  在maven中profile标签就是为多环境配置而生, 它支持定义了各个环境下的变量集, 选取激活某个profile后, 会自动屏蔽掉其他profile的变量.
  比如定义如下:

test
true
test
online
online

  这边定义了test, online两个profile.

  
  此时默认打包, 其会选用test这个profile, 原因是因为它是默认激活的, 也就是说变量env(key=env, value=test)将作用于pom.xml文件的其他配置项.

 

filter&resource标签:

  filter和resource标签是一块使用的, 前者指定了载入的properties文件, 后者则指定了key/value对替换的目标作用目录.

test-app-project
settings/${env}/app.properties
src/main/resources
true

  其实从xml的配置中, 我们可以解读如下, filter目录为: settings/${env}/app.properties. 由于激活的profile为test, 则env为test. 这样filter目录为settings/test/app.properties. maven自动提取这个key/value文件, 把src/main/resource目录下的配置文件中${}全部替换.

 

测试:

  通过maven进行编译打包, 其可以指定命令行参数P, 指定激活那个profile.
  比如要激活online(线上配置), 则执行如下命令:

mvn -Ponline package

  执行之后具体的产出结果如下:

  

 

总结:

  maven的多环境配置, 算是一个基础的点. 这边纯粹写个水文吧, 记录一下^_^.

 

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

你可能感兴趣的文章
我的友情链接
查看>>
C++的深拷贝实现
查看>>
MVC3----数据注解与验证(2)之 详解Remote验证与Compare验证
查看>>
VS2010 某个文件无法设置断点的问题
查看>>
大环境决定个体命运-厉伟盲人摸象创投玩拼图游戏
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
Ubuntu 14 安装jdk7
查看>>
操作系统中的互斥和JVM中的互斥
查看>>
LVS-DR+keepalived(——实现WEB站负载均衡和高可用)
查看>>
全手工打造ESXI6.0 自动关闭虚拟服务器及ESXI主机脚本
查看>>
Linux Shell之十 sed与awk
查看>>
Ubuntu快捷键详细版
查看>>
反智主义与人类学
查看>>
Android研究笔记二-ActivityFragment
查看>>
MDT2010两个配置文件
查看>>
【资料整理】cisco [vlan]
查看>>
Tengine 安装配置
查看>>
生产场景一键安装java jdk和tomcat
查看>>
c3p0 参数解释
查看>>