博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
maven的动态打包功能
阅读量:6980 次
发布时间:2019-06-27

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

对于maven而言,打包是其一个非常重要的功能,不仅仅是简单的编译打包的概念,其还通过各种插件支持各种灵活的打包策略。现举一个例子讲解如何动态实现一个web项目的打包:

需求:

      现需要对一个web项目打出不同的3个包,3个包除了有公共的jar和配置文件依赖外,还各自需要依赖不同的特定的jar和特定的配置文件,而且不同的war包名字最好是不同的。

实现:

      我们可以利用 maven的profile机制和maven-war-plugin插件来完成以上需求,所有需要配置和修改的只涉及项目的pom文件,首先我们在pom文件中加入profile,不同的profile引入特定的jar依赖和动态定义${env}变量

   

one
one
com.xxx
project-one
two
two
com.xxx
project-two
three
three
com.xxx
project-three

然后引入maven-war-plugin插件,实现打包时根据不同的${env}变量动态引入不同的资源文件,并动态设定打包的包名:

org.apache.maven.plugins
maven-war-plugin
2.4
deploy/${env}
WEB-INF/classes
true
project-${env}

然后在项目下使用  mvn clean install -DskipTests=true -P ${profile_id} 进行打包 ,${profile_id}指各个不同的profile的id

转载于:https://www.cnblogs.com/hzhuxin/p/7047508.html

你可能感兴趣的文章
如何衡量一个项目的交付质量???
查看>>
Ka的递归编程练习 Part4|Hanoi汉诺塔,双色汉诺塔的也有
查看>>
3月14号作业
查看>>
Feign实现服务调用
查看>>
菜鸟学习HTML5+CSS3(一)
查看>>
Inno Setup制作应用程序安装包
查看>>
小知识点
查看>>
scrollview gridview
查看>>
获取用户所属浏览器和设备
查看>>
20135306黄韧 信息安全系统设计基础期中学习总结
查看>>
Magento(麦进斗)安装问题
查看>>
大数据概述
查看>>
客户端动态调用WCF服务中的方法
查看>>
v-cloak,v-text,v-html的基本使用
查看>>
[POI2009]KAM-Pebbles BZOJ1115 [ 待填坑 ] 博弈
查看>>
Web充斥着存在漏洞的过期JavaScript库
查看>>
%f%g%e区别
查看>>
Ubuntu Vim YouCompleteMe 安装
查看>>
修改360浏览器 标题栏 显示的文字
查看>>
在Centos 7下编译openwrt+njit-client
查看>>