新用户注册入口 老用户登录入口

[转载]解决maven打jar包时不把依赖打包进去的问题

文章作者:转载 更新时间:2023-06-13 10:21:11 阅读数量:137
文章标签:Mavenpomxmlpackage项目构建依赖管理启动类路径
本文摘要:这篇文章主要介绍了使用Maven对Java项目进行依赖管理和构建打包的具体步骤。首先,配置maven-dependency-plugin的`copy-dependencies`目标,将项目依赖复制到与src目录平级的lib目录下;然后通过maven-assembly-plugin生成包含所有依赖的jar包(即jar-with-dependencies),并指定主类(如com.Log4j2Memory.App)的全路径。整个过程在Maven的package生命周期阶段执行,确保了项目构建过程中依赖管理的有效性和可执行jar包的完整性。
转载文章

本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_30786785/article/details/125506886。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

百度的一群人就知道复制粘贴,全是不能用的,垃圾

首先lib目录要与src目录平级,然后去pom.xml替换<build>标签里的内容(不愿意替换的话复制粘贴也行),注意修改内容

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory><overWriteReleases>false</overWriteReleases><overWriteSnapshots>false</overWriteSnapshots><overWriteIfNewer>true</overWriteIfNewer></configuration></execution></executions></plugin><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><archive><manifest><mainClass>com.Log4j2Memory.App这里写启动类包路径</mainClass></manifest><manifestEntries><Class-Path>.</Class-Path></manifestEntries></archive><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></build>

如图
在这里插入图片描述

本篇文章为转载内容。原文链接:https://blog.csdn.net/qq_30786785/article/details/125506886。

该文由互联网用户投稿提供,文中观点代表作者本人意见,并不代表本站的立场。

作为信息平台,本站仅提供文章转载服务,并不拥有其所有权,也不对文章内容的真实性、准确性和合法性承担责任。

如发现本文存在侵权、违法、违规或事实不符的情况,请及时联系我们,我们将第一时间进行核实并删除相应内容。

相关阅读
文章标题:[转载][洛谷P1082]同余方程

更新时间:2023-02-18
[转载][洛谷P1082]同余方程
文章标题:[转载]webpack优化之HappyPack实战

更新时间:2023-08-07
[转载]webpack优化之HappyPack实战
文章标题:[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法

更新时间:2023-09-10
[转载]oracle 同时更新多表,在Oracle数据库中同时更新两张表的简单方法
文章标题:[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo

更新时间:2024-03-11
[转载][Unity] 包括场景互动与射击要素的俯视角闯关游戏Demo
文章标题:[转载]程序员也分三六九等?等级差异,一个看不起一个!

更新时间:2024-05-10
[转载]程序员也分三六九等?等级差异,一个看不起一个!
文章标题:[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集

更新时间:2024-01-12
[转载]海贼王 动漫 全集目录 分章节 精彩打斗剧集
名词解释
作为当前文章的名词解释,仅对当前文章有效。
MavenMaven是一款流行的Java项目管理与构建工具,它遵循约定优于配置的原则,提供了一套标准化的构建生命周期模型以及依赖管理和项目信息管理机制。在文章中,Maven用于帮助开发者自动化地处理项目的构建、依赖管理和打包等任务。
pom.xmlpom.xml是Maven项目的核心配置文件,全称为Project Object Model(项目对象模型)。在这个XML文件中,开发者定义了项目的基本信息(如groupId、artifactId和version)、构建过程中的依赖项、插件配置以及其他构建相关设置。文中提到需要在pom.xml中配置maven-dependency-plugin和maven-assembly-plugin以实现特定的构建目标。
maven-dependency-pluginmaven-dependency-plugin是Maven的一个官方插件,主要用于处理项目的依赖关系。在本文上下文中,通过配置该插件的`copy-dependencies`目标,可以在项目构建过程中将所有依赖复制到指定目录(例如`${project.build.directory}/lib`),便于项目运行时查找和加载这些依赖库。
maven-assembly-pluginmaven-assembly-plugin是另一个Maven官方插件,它的主要功能是创建包含项目主程序类及所有依赖项的归档文件,如jar包或zip包。在文章场景下,通过此插件可以生成一个包含所有依赖的“fat jar”(也称作uber jar或jar-with-dependencies),确保在没有外部依赖环境的情况下也能直接运行项目。同时,需在插件配置中指定应用的主类路径,以便于执行时定位启动类。
延伸阅读
作为当前文章的延伸阅读,仅对当前文章有效。
在深入理解Maven项目构建和依赖管理的基础上,进一步关注近期开源社区与软件工程领域关于依赖管理和构建工具的最新发展动态。例如,Apache Maven 4.0已于近日发布,新版本优化了性能、提升了稳定性和兼容性,并引入了一些新的特性来简化大型项目的构建过程。此外,针对依赖冲突检测和解决方面,开源社区也推出了如Dependabot这样的自动化依赖更新工具,它可以定期检查项目依赖并提交更新PR,从而确保项目始终使用最新的安全版本。
同时,对于Java应用的打包策略,JEP 392(模块化运行时映像)自JDK 11以来为构建更精简高效的可执行jar文件提供了新的可能性,通过jlink工具可以创建定制化的运行时镜像,有效减少应用程序的启动时间和资源占用。
另外,在实际开发过程中,遵循最佳实践尤为重要。例如,合理设置Maven仓库以提高依赖下载速度,利用 shade plugin 或者 spring-boot-maven-plugin 等工具生成更易于部署和运行的fat jar,以及采用Maven profiles实现多环境构建等都是值得开发者深入研究和实践的方向。
总的来说,Maven作为广泛使用的项目管理和构建工具,其持续演进和周边生态的发展为现代软件开发带来了诸多便利。紧跟技术潮流,适时掌握相关工具的新特性和最佳实践,有助于提升团队和个人的研发效能,降低项目风险,实现高效、稳定的软件交付。
知识学习
实践的时候请根据实际情况谨慎操作。
随机学习一条linux命令:
echo 'string' > /dev/null - 忽略输出,常用于抑制命令的输出结果。
随便看看
拉到页底了吧,随便看看还有哪些文章你可能感兴趣。
超酷堆叠图片展开和折叠jquery动画特效 02-06 纯js图片放大镜插件-Magnifier 11-03 Consul微服务实战:精确配置环回IP与服务发现的步骤与实例 06-07 精细化部署:SpringBoot定时任务的多节点升级策略——Redis分布式锁与消息队列实践指南 06-03 响应式SEO搜索引擎优化服务公司网站html模板 01-24 Gramos销售统计管理控制台响应式模板 01-05 多用途化妆品购物商城响应式网站模板 10-05 Nacos报错dataId: gatewayserver-dev-${server.env}.yaml的解决:排查文件路径、存在性与权限问题,修改配置及创建文件 09-28 蓝色宽屏电气能源设备企业网站html模板下载 09-18 本次刷新还10个文章未展示,点击 更多查看。
[转载]Java元组Tuple 09-17 etcd集群加入Kubernetes中的网络与防火墙问题排查:节点间通信与端口配置详解 08-29 Logstash中利用multiline codec与filter插件合并多行日志以适应Elasticsearch分析 08-19 [转载]解决maven打jar包时不把依赖打包进去的问题 06-13 Redis setnx在Spring Boot 2+Docker线上环境中的竞态条件问题与针对多个Java进程的分布式锁解决方案 05-29 Memcached内存缓存系统中的数据丢失问题及Redis持久化机制与备份恢复方案应对实践 05-22 [转载]Ags 9.3 文档逐步上线 04-22 [转载]python 类的定制_Python基础:20类的定制 04-19 橙色大气响应式工业行业网站模板 02-26 字母个性质感高级机构动态HTML5网站模板 01-12 [转载]web常见攻防 01-03
时光飞逝
"流光容易把人抛,红了樱桃,绿了芭蕉。"