Maven profile动态加载属性配置文件
来源:互联网 发布:深入浅出html5编程pdf 编辑:程序博客网 时间:2024/05/16 17:51
背景
针对于开发项目中,软件会面临着不同的运行环境,比如测试环境,生产环境,开发环境.每个环境下对应的配置数据源,日志配置,资源配置等可能也不一样,需要自行修改属性配置文档,这样做会很大程度上浪费人的精力,然而maven提供了profile功能就能很好的解决.
Profile简述
profile可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个profile,然后每个profile对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。
- 对于某个具体的项目来说,如果想使用profile功能,直接在pom文件里配置即可(具体可参照下面).
- 如果是针对于某个特定的用户或者配置全局的,这就需要修改maven安装目录下的settings.xml文件.
配置动态打包
1.先上一下配置文档的目录结构
dev.properties里面的具体内容(截取了一部分,其他环境的类似):
config.properies内容:
2.profile的配置方式
<profiles> <profile> <!-- 本地开发环境 --> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> <activation> <!-- 设置默认激活这个配置 --> <activeByDefault>true</activeByDefault> </activation> </profile> <profile> <!-- 发布环境 --> <id>release</id> <properties> <profiles.active>release</profiles.active> </properties> </profile> <profile> <!-- 测试环境 --> <id>beta</id> <properties> <profiles.active>beta</profiles.active> </properties> </profile></profiles>
3.配置属性文件位置
在build标签下面:
<filters> <filter>src/main/resources/profiles/${env}.properties</filter></filters><resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource></resources>
正如前面图上所示,开发环境,测试环境,生产环境下的属性配置文档都放在了src/main/resources/profiles目录下,文件命名规则为*.properties.
调用过程:
- 如上通过profiles标签选中你要使用的环境
- 通过package命令将环境变量注入到config.properties中
- 项目会自动加载config.properties文件
4.激活profile
1.上面的代码中有默认的配置方式:
<activation> <!-- 设置默认激活这个配置 --> <activeByDefault>true</activeByDefault></activation>
2.使用-P参数显示激活一个profile
当我们在进行Maven操作时就可以使用-P参数显示的指定当前激活的是哪一个profile了。比如我们需要在对项目进行打包的时候使用id为dev的profile,我们就可以这样做:
mvn package –Pdev
这里假设dev是在settings.xml中使用dev标记的处于激活状态的profile,那么当我们使用“-P !profile”的时候就表示在当前操作中该profile将不处于激活状态。
PS:最后要说明的是,在属性配置文档中不要使用不合要求的其他字符,会导致特殊字符后面所有的变量都无法注入到属性文档中.
阅读全文
0 0
- Maven profile动态加载属性配置文件
- maven系列(一):动态加载配置文件
- 使用Maven Profile按需加载开发、测试和产品环境的配置文件
- maven加载不到配置文件
- Maven动态切换配置文件
- 【Mybatis】配置文件加载属性
- java动态加载配置文件
- Spring动态加载配置文件
- java动态加载配置文件
- 【spring】动态加载配置文件
- 动态加载配置文件实践
- Java动态加载配置文件
- maven加载过慢,xml配置文件
- 使用MAVEN动态生成配置文件
- jenkins+maven动态打包配置文件
- Maven根据Profile读取不同配置环境配置文件
- maven根据profile读取指定环境的配置文件
- 使用maven profile指定配置文件打包适用多环境
- 51nod 1639 绑鞋带 (找规律题)
- win10安装深度学习教程(防踩坑)CUDA8.0+cudnn5.1+py3.5+tensorflow1.3(gpu)+keras
- 网络技术基础
- C++ L和_T的区别
- html模拟京东购物车
- Maven profile动态加载属性配置文件
- linux学习第二篇:putty,xshell以及密钥认证
- Audio Session Programming Guide
- ReentrantReadWriteLock读写锁的使用
- Python中List的list()方法
- 093: 复习习题 型一:不定型极限; 型二:和、积极限 ;型三:极限存在性
- Android设计模式之——Builder模式
- where子句和having子句区别
- 扫雷小程序