maven的pom.xml中profiles的作用详解
目录
- 1、profiles是什么?有什么作用
- 2、如何配置
- 3、区别构建发布包
- maven多环境profiles参数切换
- 项目结构图
1、profiles是什么?有什么作用 在maven构建的项目都存在一个pom.xml的项目对象模型配置文件,用于约束项目(如:jar包管理、构建管理等)。profiles是pom.xml中的一个配置项。
我们在开发项目时一般都会区分线上环境和测试环境,这两个环境需要切换以适应不同的环境需求
文章图片
正式环境的配置,一般放置于src/main/resources下,而测试环境放置于/src/test/resources下面。
profile的主要作用就是区分正式环境和测试环境的配置
2、如何配置
【maven的pom.xml中profiles的作用详解】release src/main/resources **/* test true src/test/resources config/*.properties log4j.xml src/main/resources **/*.xml log4j.xml
如上, 我配置了两个profile一个release用于正式环境发布,test用于测试环境使用;默认开启测试环境,activation->true
测试环境与正式环境只是部分的配置不同,我们需要公用这部分配置。这就使用到了includes and excludes,用引入和排除配置文件
3、区别构建发布包 构建测试包:
maven package -P test -Dmaven.test.skip=true
构建正式包:
maven package -P release -Dmaven.test.skip=true
maven多环境profiles参数切换 在实际开发项目中,常常有几种环境,一般情况下最少有三种环境:开发、测试、正式,各个环境之间的参数也各不相同,
于是在环境切换时我们需要修改为各环境需要的参数,就此我们可以通过maven的配置在切换环境是简化这一步骤.
项目结构图
文章图片
src/main/resources/dev 目录是开发环境的配置项目在pom.xml定义环境的profile
src/main/resources/test 目录是测试环境的配置项目
dev truedevtest test
activeByDefault标签的值为true的话表示为默认的profile,使用mvn install命令起作用的就是默认的 profiles.activation为我们配置激活的profile
SpringMVC_Spring_Mybatis ${basedir}/src/main/resources message.properties ${project.active}/** ${basedir}/src/main/resources db.properties user.properties message.properties **/** org.apache.tomcat.maven tomcat7-maven-plugin2.2 UTF-8 /8088
在工程的${basedir}/src/main/resource,目录下(basedir指的是pom文件所在的目录)
输入maven指令
mvn clean install -P test
编译结果如下图,只编译test环境需要的配置-P后面的test为我们所要激活的profile
文章图片
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量