当你使用 Maven 对项目打包时,你需要了解以下 3 个打包 plugin,它们分别是

plugin function
maven-jar-plugin maven 默认打包插件,用来创建 project jar
maven-shade-plugin 用来打可执行包,executable(fat) jar
maven-assembly-plugin 支持定制化打包方式,例如 apache 项目的打包方式

使用maven-assembly-plugin解决引入SDKclass方法

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>plugin-ws-manage</artifactId><groupId>com.wbs.climb.pluginwsmanage</groupId><version>1.0.0</version></parent><modelVersion>4.0.0</modelVersion><artifactId>plugin-ws-rcyy</artifactId><dependencies><dependency><groupId>com.wbs.climb.pluginwsmanage</groupId><artifactId>plugin-ws-parent</artifactId><version>1.0.0</version></dependency><dependency><groupId>com.xikang</groupId><artifactId>supervise-sdk-client</artifactId><version>0.1.3-lite</version></dependency></dependencies><build><plugins><!-- 支持定制化打包方式 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.1.1</version><configuration><!--描述文件路径--><descriptors><descriptor>src/main/assembly/release.xml</descriptor></descriptors><!-- maven打包指定名称并去除jar-with-dependencies后缀 --><appendAssemblyId>false</appendAssemblyId></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin><!-- 打包后拷贝目录 --><plugin><artifactId>maven-antrun-plugin</artifactId><executions><execution><id>copy</id><phase>package</phase><configuration><target><!-- 存放的文件夹 --><copy todir="\hip\test_release\lib" overwrite="true"><fileset dir="${project.build.directory}"><include name="${project.artifactId}.jar"/></fileset></copy></target></configuration><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>
</project>

release.xml

<?xml version="1.0" encoding="UTF-8" ?>
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"><id>jar-with-dependencies</id><formats><format>jar</format></formats><includeBaseDirectory>false</includeBaseDirectory><dependencySets><dependencySet><outputDirectory>/</outputDirectory><useProjectArtifact>true</useProjectArtifact><unpack>true</unpack><scope>runtime</scope><!--包含--><includes><include>com.wbs.climb.pluginwsmanage:plugin-ws-rcyy</include><include>com.xikang:supervise-sdk-client</include></includes><!-- 待验证 排除--><excludes><exclude>commons-logging:commons-logging</exclude></excludes></dependencySet></dependencySets>
</assembly>

参考资料

maven-assembly-plugin 入门指南 - 简书

maven-assembly-plugin插件打jar包时排出指定的依赖 - 远去的列车 - 博客园

maven-assembly-plugin maven自定义打包相关推荐

  1. assembly plugin实现自定义打包

    http://skydream.iteye.com/blog/437937 在上一篇文章中,讨论到在对maven的机制不熟悉的情况下,为了实现自己需要的打包格式而使用maven ant task以ma ...

  2. 使用Maven Assembly plugin将依赖打包进jar

    一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...

  3. Maven Assembly Plugin - 如何将Maven工程打成一个可执行jar包

    参考自: http://blog.csdn.net/symgdwyh/article/details/6081532 Maven Assembly Plugin http://maven.apache ...

  4. maven assembly plugin使用

    使用场景 在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序.最近在工作中也遇到了这种场景,使用quartz开发一个任务调度程序.程序中依赖很多ja ...

  5. 使用Maven的assembly插件实现自定义打包

    一.背景 最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需求,爽爆了有 ...

  6. java assembly 打包_使用Maven的assembly插件实现自定义打包

    一.背景 最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需求,爽爆了有 ...

  7. Maven自定义打包插件Assembly Plugin简单使用

    使用Assembly Plugin实现自定义打包 1.修改pom.xml <!-- 编译时自动打包,规则见distribution.xml文件--> <build><pl ...

  8. Maven Assembly插件介绍

    你是否想要创建一个包含脚本.配置文件以及所有运行时所依赖的元素(jar)Assembly插件能帮你构建一个完整的发布包. Assembly插件会生成 "assemblies", 此 ...

  9. Maven assembly简谈

    什么是Assembly? "assembly"是把一组文件.目录.依赖元素组装成一个归档文件. 比如, 假设一个 Maven project定义了一个JAR artifact,它包 ...

  10. Spring Boot 使用 Maven assembly 插件打包

    文章目录 1 摘要 2 Maven 核心依赖与配置 2.1 pom.xml 配置 2.2 assembly 配置信息 3 启动与停止脚本 3.1 启动脚本 3.2 停止脚本 4 推荐参考资料 5 Gi ...

最新文章

  1. sql server 怎么实现mysql中group_concat,列转行,列用分隔符拼接字符串
  2. C++~回溯+贪心法解决01背包问题
  3. 如何实现示波器探头的最佳匹配?
  4. Spring Boot 集成 Swagger 生成 RESTful API 文档
  5. 批处理for命令详解(转) 批处理for命令详解
  6. SSH框架面试题及答案分享!
  7. ansible的系统模块8
  8. 1466C. Canine poetry
  9. oracle恢复RAC到单机
  10. 前台setcookie之后从后台取出来_后台设置Cookie值,前台进行获取
  11. 13号线ab线规划图_南宁地铁线最新规划(20202035年)!喜添8条轨道普线、1条环线和4条快线…...
  12. 旋转成分矩阵结果分析_30分钟学会PCA主成分分析
  13. h5故障代码_H5故障与内机有关?
  14. 【bsauce读论文】 Playing for K(H)eaps: Understanding and Improving Linux Kernel Exploit Reliability
  15. 笔记本能连上wifi 但是浏览器打不开,使用手机的热点却可以正常上网的问题?
  16. Python map
  17. 【人工智能】1.问题求解:启发式搜索算法
  18. 数据分析的五大用处,你都知道吗?
  19. oracle免费版本下载地址,Oracle各版本下载地址和方法
  20. 了解CNN这一篇就够了——关于卷积神经网络的介绍

热门文章

  1. 仓库主动向生产线发料和生产线看板拉料转储单TR的不同(定制应用)
  2. 人为什么要辛苦赚钱,心得体会!
  3. 主板螺丝是机箱配还是主板配_电脑机箱螺丝规格详解 DIY装机容易忽视的小玩意...
  4. Win7 下ARP绑定
  5. VS插件_Supercharger_Auto Placeholders自动添加 用户+时间
  6. Crontab 每两周执行一次
  7. JS-两周内自动登录功能
  8. 插件电阻和贴片电阻的主要区别有哪些?
  9. 微信小程序 开发列表
  10. 程序猿之歌:一人我编程累