maven打包把所有依赖的jar copy到一个文件夹

在maven项目中,是使用依赖坐标来引入jar包,在引入jar包的时候,maven也会默默的帮助我们导入这个jar包所依赖的jar包。

但是当我们打包项目使用jar包运行的时候,往往会出现缺少jar的情况:
在这里插入图片描述
如果我们一个一个添加缺少的jar包到classpath下就会很麻烦,而且我们也不知到maven默默帮我们添加了哪些jar包。

这时候我们就可以把项目所有依赖的jar包,包括maven默默帮我们添加的jar包copy复制到一个目录里面,比如lib。我只需要配置一下maven的pom.xml就可以了:
pom.xml添加插件:

            <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>3.3.0</version><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals><configuration><!-- 打包生成的文件名 --><finalName>${project.artifactId}</finalName><!-- jar 等压缩文件在被打包进入 zip、tar.gz 时是否压缩,设置为 false 可加快打包速度 --><recompressZippedFiles>false</recompressZippedFiles><!-- 打包生成的文件是否要追加 release.xml 中定义的 id 值 --><appendAssemblyId>true</appendAssemblyId><!-- 指向打包描述文件 package.xml --><descriptors><descriptor>package.xml</descriptor></descriptors><!-- 打包结果输出的基础目录 --><outputDirectory>${project.build.directory}/</outputDirectory></configuration></execution></executions></plugin>

上面我们配置一个 指向打包描述文件 package.xml,所以我们要添加一个package.xml放到pom.xml的同级目录下:

<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"><!-- assembly 打包配置更多配置可参考官司方文档:http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html--><id>release</id><!--设置打包格式,可同时设置多种格式,常用格式有:dir、zip、tar、tar.gzdir 格式便于在本地测试打包结果zip 格式便于 windows 系统下解压运行tar、tar.gz 格式便于 linux 系统下解压运行--><formats><format>dir</format><!-- <format>zip</format> --><format>tar.gz</format></formats><!-- 打 zip 设置为 true 时,会在 zip 包中生成一个根目录,打 dir 时设置为 false 少层目录 --><includeBaseDirectory>true</includeBaseDirectory><!-- 依赖的 jar 包 copy 到 lib 目录下 --><dependencySets><dependencySet><outputDirectory>lib</outputDirectory>			</dependencySet></dependencySets></assembly>

这样配置完之后在打包maven就会帮我们把项目所有依赖的jar包,包括maven默默帮我们添加的jar包copy复制到一个lib目录下面了:
在这里插入图片描述
在这里插入图片描述
再次运行就可以了。

打包配置更多配置可参考官司方文档:
http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/537824.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android系统 关于ntp的修改(网络时间同步)

一&#xff0c;现象&#xff1a; 1. NTP介绍 NTP&#xff1a;网络时间协议&#xff0c;英文名称&#xff1a;Network Time Protocol&#xff08;NTP&#xff09;是用来使计算机时间同步化的一种协议&#xff0c;它可以使计算机对其服务器或时钟源&#xff08;如石英钟&#x…

input输入框支持明文暗文切换

input输入框支持明文暗文切换 场景与思路实现 场景与思路 我们通常实现密码框的时候会直接使用 input ,设置它的 type 为 password&#xff0c;如果要实现明文和暗文的切换&#xff0c;实际上就是 type“text” 和 type"password"的切换。 实现 样式上我们可以先找…

Igraph入门指南 5

2、graph_from系列&#xff0c;将其他R数据结构转换成图 2-1 邻接矩阵转图&#xff1a;graph_from_adjacency_matrix 可以接受Matrix包创建的稀疏矩阵作为参数 邻接矩阵中行的顺序被保留&#xff0c;并作为图中顶点的顺序。 本函数几个重要的参数&#xff1a; weighted&am…

EPSON X1E000341003100 FA-238A石英晶体谐振器

EPSON X1E000341003100 FA-238A是一款无源晶振&#xff0c;具有特定的频率和尺寸规格。这款晶振的频率为20MHz&#xff0c;尺寸为3.20 x 2.50mm &#xff0c;这使得它非常适合用于小型化设计中。它的温度范围从-40℃到125℃&#xff0c;并且具有20ppm的频率稳定性&#xff0c;这…

软考高级:软件工程单元测试(驱动模块、被测模块、桩模块)概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

FX110网:1月美国零售货币资金环比上升2.61%,嘉盛环比上升1.86%

美国商品期货交易委员会&#xff08;CFTC&#xff09;发布的最新月度报告显示&#xff0c;2024年1月零售货币存款与上月相比上升2.61%。 这份报告涵盖在美国运营的注册零售货币对交易商&#xff08;RFED&#xff09;和经纪自营商。包括嘉信理财&#xff08;CHARLES SCHWAB Futu…

重学SpringBoot3-集成FreeMarker

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-集成FreeMarker 1. 添加 FreeMarker 依赖2. 配置 FreeMarker 属性&#xff08;可选&#xff09;3. 创建 FreeMarker 模板4. 编写控制器5. 运行应用程序F…

【Java/Image】给指定路径下图片反色并加上当前日期形式的水印

【需求】 从通达信软件截屏下来的K线图&#xff0c;在打印前需要反色&#xff0c;打印后需要手动加上当前日期&#xff0c;这些都可以由程序代替手工完成。 以下是期待的效果。 【关键点】 给图片反色用的是梯度法&#xff0c;这个在网络上已有成型代码&#xff1b; 给图片…

【考研学子必看 ★2024考研国家线及调剂策略(3)】

----------------------------------------------------------------------------------------------------- 考研复试科研背景提升班 教你快速深入了解掌握考研复试面试中的常见问题以及注意事项&#xff0c;系统的教你如何在短期内快速提升自己的专业知识水平和编程以及英语…

C++结合opencv—图像2维直方图初次尝试

// 二维直方图 void QuickDemo::two_histogram_demo(Mat &image) {Mat hsv, hs_hist;cvtColor(image, hsv, COLOR_BGR2HSV);int hbins 30, sbins 32;int hisat_bins[] { hbins,sbins };float h_range[] { 0,180 }; //180/306float s_range[] { 0,256 };// 256/328cons…

javaweb篇请求与相应的参数问题

目录 前言 简单传参设置 get请求无法识别 post请求 简单传参问题无法识别的解决问题 注意事项 改法 实体参数 代码展示 今日分享 前言 友友们&#xff0c;大家好&#xff0c;今天来开荒了,今天介绍的是在进行数据请求以及相应的时候&#xff0c;我们不仅仅只是进入一…

LED基础知识分享(三)

大家好&#xff0c;我是砖一。 一&#xff0c;LED的光衰与使用环境温度 什么叫LED光衰 光衰是指LED经过一段时间的点亮后,其光强会比原来的光强要低,而低了的部分就是LED的光衰。 一般LED封装厂家做测试是在实验室的条件下(25℃的常温下),以20MA的直流电连续点亮LED1000小时…