Maven <Profiles>定义不同环境的参数变量
2016-08-12 15:30
483 查看
应用场景
我们在开发的时候会遇到需要区分正式环境、测试环境、开发环境使用不同的参数,如数据库的用户名及密码等。这时可以用Spring 的PropertyPlaceholderConfigurer来配置受环境影响的变量,这种使用多个配置文件的方式,但是我觉得这样不够灵活,所以就使用了maven的
profiles来实现,在打包的时候maven就会根据指定的配置参数写入文件。
配置方式分为两种,一种是全局配置即在
.m2/conf/setting.xml里面配置实现全局,一种是在项目中的pom.xml配置,这里我没有用到全局方式,就不详细介绍,我们主要介绍项目中配置方式。
实现
1.pom.xml配置
<build> <!-- 配置使用变量的配置文件--> <filters> <filter>src/main/resources/application.properties</filter> </filters> <resources> <!--配置文件路径--> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> </build> <profiles> <profile> <id>local</id> <properties> <pom.env>dev</pom.env> <pom.ver>1.2.4</pom.ver> </properties> <activation> <!--默认生效的配置组--> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <id>dev</id> <properties> <pom.env>dev</pom.env> <pom.ver>1.3.3</pom.ver> </properties> </profile> <profile> <id>pro</id> <properties> <pom.env>pro</pom.env> <pom.ver>1.3.5</pom.ver> </properties> </profile> </profiles>
2.application.properties配置
env=${pom.env} ver=${pom.ver}
3.执行
执行的时候加上-P ${profile.id},使用默认的可以不加,我用的IDE自带的工具选择生效参数组,在
Profiles里面选择参数组
mvn clean install -P local
4.总结
步骤如下:pom.xml中添加、参数
EL表达式在配置文件中调用变量
执行是-P 制定参数
相关文章推荐
- Maven <Profiles>定义不同环境的参数变量
- Maven <Profiles>定义不同环境的参数变量
- Maven <Profiles>定义不同环境的参数变量
- Maven <Profiles>定义不同环境的参数变量
- Maven <Profiles>定义不同环境的参数变量
- 使用<appSettings>元素定义配置参数
- EBS Form开发 弹性域定义中的参数<三>
- EBS Form开发 弹性域定义中的参数<->
- 在jsp的<s:iterator>标签中获取action中的定义的成员变量
- maven不同环境的参数配置
- 相同的代码在eclipse中编译成功,但是用ant编译失败。无法确定<T>T的类型参数;对于上限为int,java.lang.Object的类型变量T,不存在唯一最大实例
- EBS Form开发 弹性域定义中的参数<三>
- EBS Form开发 弹性域定义中的参数<->
- Java学习总结(一)—— >Java环境变量的配置,DOS窗口的带包编译,Jdk1.5的两个新特性(可变参数和增强的for循环)
- EBS Form开发 弹性域定义中的参数<二>
- <2012 10 06> FL2440开发板的U-boot-2010.09版本移植 ____ U-boot中常用参数设定及常用宏(u-boot环境变量、USB、内核引导)
- <CoreJava> 12.4类型变量的定义
- <linux程序设计> 第四章 [ 程序参数 / 环境变量 / 日期与时间]
- <linux程序设计> 第四章 [ 程序参数 / 环境变量 / 日期与时间]
- Hadoop学习<一>--hadoop安装和环境变量设置