maven自动选择不同的配置文件打包profile+filter

1. profile:
[要点:] activeByDefault默认激活,不用再mvn命令时指定额外参数;
[注意:] 使用非默认的配置,要在编译时指定:如,要在生产环境打包[并跳过单元测试]:
mvn clean package -Pproduct [-Dmaven.test.skip=ture]

如果mvn clean package:

a. 默认加载profile-dev.properties来打包
b. 可以替换的内容范围是:
src/main/resources/*.xml|*.properties...
src/main/java/*.xml
<project><build><finalName>project-name</finalName><!-- 启用filter功能为resources中的变量赋值 -->  <resources>  <resource>  <directory>src/main/resources</directory><includes><include>**/*</include></includes><filtering>true</filtering>  </resource><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources>  </build><profiles><!-- 1.开发环境 --><profile><id>dev</id><activation><activeByDefault>true</activeByDefault></activation><build><filters><filter>profile-dev.properties</filter></filters></build></profile><!-- 2.测试环境 --><profile><id>test</id><build><filters><filter>profile-test.properties</filter></filters></build></profile><!-- 3.UAT环境 --><profile><id>uat</id><build><filters><filter>profile-uat.properties</filter></filters></build></profile><!-- 4.生产环境 --><profile><id>product</id><build><filters><filter>profile-product.properties</filter></filters></build></profile></profiles>
</project>
2. 用法:

比如profile-dev.properties文件中定义了

mvn.mysql.url.mydb=jdbc:mysql://localhost:3306/mydb
mvn.mysql.user.mydb=root
mvn.mysql.pass.mydb=1234

那么可以在其他公用配置文件中使用${}来引用profile-dev.properties中的属性,比如:

(1). db.properties中:
db.url=${mvn.mysql.url.mydb}
db.user=${mvn.mysql.user.mydb}
db.pass=${mvn.mysql.pass.mydb}
(2) spring-ds.xml中:(用法1)
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="${mvn.mysql.url.mydb}"/><property name="username" value="${mvn.mysql.user.mydb}"/><property name="password" value="${mvn.mysql.pass.mydb}"/></bean>

spring-ds.xml中,也可以使用这样:(用法2-引用再引用)

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="${db.url}"/><property name="username" value="${db.user}"/><property name="password" value="${db.pass}"/>
</bean>

转载于:https://blog.51cto.com/coffee/2091705

maven profile filter 线上线下分开打包配置相关推荐

  1. OpenMLDB:线上线下一致的生产级特征计算平台

    导读:今天我们将从线上线下一致的生产级特征计算平台这个点切入,从「人工智能工程化落地过程中企业面临的数据和特征挑战」 ,「OpenMLDB:线上线下一致性的生产级特征计算平台」,「拥抱开源.面向社区」 ...

  2. 接地气商超O2O,线上线下实施策略“三部曲”

    新一代消费者看重体验,喜欢用玩的心态生活.工作.零售企业在购物中加入"玩"元素,才能更好吸引新一代消费者,超市做o2o也需要玩新花样. 自从O2O火起来之后,大批写手突变成O2O砖 ...

  3. Python培训班线上线下哪种靠谱

    Python近几年在人工智能领域的快速发展,引起了很多人的注意,各种Python培训机构也越来越多,很多零基础的同学都想通过报培训班学习,目前互联网的发达,Python培训分为线上和线下,那么Pyth ...

  4. AI一分钟 | 雷军家小米音箱开始控制电视啦,有望成为智能家居中心;国民公公王健林也玩AI,线上线下一起整

    一分钟AI 继苹果刘海屏被吐槽后,传华为P11将采用异形屏,同时提高人工智能使用体验. 美国AI公司通过机器学习算法,在最短的时间内找到3D配方,帮助波音公司3D打印飞机金属零件. 经济学人智库称,受 ...

  5. 高级转录组调控分析和R语言数据可视化第十三期 (线上线下,7月底开课)

    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.转录组线上直播课.报名参加线上直播课的老师可在365天内选择参加同课程的一次线下课 .期待和大家的 ...

  6. 高级转录组分析和R语言数据可视化第十三期 (线上线下同时开课)

    " 福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线 ...

  7. 高级转录组分析和R语言数据可视化第12期 (线上线下同时开课)

    " 福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程线上直播课.报名参加线上直播课的老师可在1年内选择参加同课程的一次线 ...

  8. OPPO R11巴萨限量版开售,上午10点线上线下火爆开启!

    8月18日对于手机行业来说注定是不平凡的一天,因为OPPO R11巴萨限量版选择在这天开售,这无形中牵动着众多消费者的心.据了解,今天上午十点准,OPPO会在线上线下正式开启OPPO R11巴萨限量版 ...

  9. 社区生鲜领军者钱大妈携手神策数据,加速线上线下精准导流促增长

    凭借高频次.刚需.短消费半径属性等优势,社区生鲜成为近年来备受关注的零售新风口.再加上经过疫情的洗礼,用户线上买菜的消费习惯得以快速养成,社区生鲜迎来快速发展.在竞争日趋激烈的社区生鲜赛道中,钱大妈的 ...

最新文章

  1. java开发经验分享_java开发经验分享(一)
  2. 5秒手机猫片也能重建猫咪3D模型,Meta提出新算法为变形物体建模 | CVPR 2022
  3. 如何check out Visual Studio 之外修改的文件。
  4. chrome下的img.onload
  5. 4 [面向对象]-三大特性:多态
  6. 【Pytorch神经网络理论篇】 26 基于空间域的图卷积GCNs(ConvGNNs):定点域+谱域+图卷积的操作步骤
  7. 如何通过StackStorm自动支持2万多台服务器
  8. 鸿蒙硬件HI3861-4G透传模块-MODBUS
  9. 单电源运算放大器全波整流电路_电子电路识图从入门到精通,从零开始学电子电路...
  10. 数据库并发抢红包_Redis悲观锁解决高并发抢红包的问题
  11. QT造类器(操作简单)
  12. SPSS-相关分析(实例讲解)-数据分析
  13. UserWarning: Usage of dash-separated ‘script-dir‘ will not be supported in future versions. 笔记
  14. 计算机cpu的工作电压,cpu工作电压一般多少是正常的?怎么查看和调整cpu电压?...
  15. 5.Wide Deep Learning for Recommender Systems论文详细解读和代码实现
  16. 在前端layui项目中使用ztree
  17. 数据与计算机通信实验报告,完整版通信工程专业综合实验报告
  18. 恢复微信撤回的图片(不容root,极其简单)
  19. 计算机网络地址 菜鸟教程
  20. 19.Java复习(二)

热门文章

  1. 台式电脑出厂编号怎么查_如何查看电脑出厂日期_如何查看电脑出厂编号
  2. psychopy写stroop实验
  3. 【色彩管理】锐印RIP软件安装教程
  4. day01-centos7 安装docker
  5. pdf转换成jpg教程
  6. 清华深圳研究生院计算机报录比,最新全国各大高校各专业考研报录比率.xls
  7. 哪些模块可用于python性能分析_4-Python内置类型性能分析
  8. 人人影视字幕组因盗版视频被查?看剧何去何从
  9. 零基础搭建PHP本地环境并安装WordPress网站(图文指导)...
  10. 联想微型计算机如果进入BIos,联想主板怎么进bios 如何在Lenovo桌面上输入BIOS [详细步骤]...