一段实用的maven pom:将项目依赖打包到文件夹或打入jar中

maven打包的5种方式总有一款适合你【超赞】 1.用于生成META-INF/MANIFEST.MF文件的部分内容,com.xxg.Main指定MANIFEST.MF中的Main-Class,true会在MANIFEST.MF加上Class-Path项并配置依赖包,lib/指定依赖包所在目录。2.maven-dependency-plugin插件。 阅读详情

使用了maven-assembly-plugin插件和maven-dependency-plugin:

[html]  view plain  copy
  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
  2.     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">    
  3.     <modelVersion>4.0.0</modelVersion>    
  4.     <groupId>net.aty.deps</groupId>    
  5.     <artifactId>MyJar</artifactId>    
  6.     <packaging>jar</packaging>    
  7.     <version>0.0</version>    
  8.     
  9.     <dependencies>    
  10.         <dependency>  
  11.             <groupId>org.apache.httpcomponents</groupId>  
  12.             <artifactId>httpclient</artifactId>  
  13.             <version>4.3.6</version>  
  14.         </dependency>  
  15.     </dependencies>    
  16.     
  17.     <build>    
  18.         <plugins>   
  19.               
  20.             <plugin>  
  21.                 <groupId>org.apache.maven.plugins</groupId>  
  22.                 <artifactId>maven-dependency-plugin</artifactId>  
  23.                 <executions>  
  24.                     <execution>  
  25.                         <id>copy-dependencies</id>  
  26.                         <phase>prepare-package</phase>  
  27.                         <goals>  
  28.                             <goal>copy-dependencies</goal>  
  29.                         </goals>  
  30.                         <configuration>  
  31.                             <outputDirectory>${project.build.directory}/lib</outputDirectory>  
  32.                             <overWriteReleases>false</overWriteReleases>  
  33.                             <overWriteSnapshots>false</overWriteSnapshots>  
  34.                             <overWriteIfNewer>true</overWriteIfNewer>  
  35.                         </configuration>  
  36.                     </execution>  
  37.                 </executions>  
  38.             </plugin>  
  39.               
  40.               
  41.             <plugin>    
  42.                 <artifactId>maven-assembly-plugin</artifactId>    
  43.                 <configuration>    
  44.                     <descriptorRefs>    
  45.                         <descriptorRef>jar-with-dependencies</descriptorRef>    
  46.                     </descriptorRefs>    
  47.                     <archive>    
  48.                         <manifest>    
  49.                           <mainClass></mainClass>    
  50.                         </manifest>    
  51.                     </archive>    
  52.                 </configuration>    
  53.                 <executions>    
  54.                     <execution>    
  55.                         <id>make-assembly</id>    
  56.                         <phase>package</phase>    
  57.                         <goals>    
  58.                             <goal>single</goal>    
  59.                         </goals>    
  60.                     </execution>    
  61.               </executions>    
  62.             </plugin>   
  63.               
  64.         </plugins>  
  65.     </build>    
  66. </project>   



执行mvn clean package命令,我们就可以得到如下结果:

spring-boot-maven-plugin 打包分离依赖lib 1. 问题:spring-boot项目,默认生成的pom使用spring-boot-maven-plugin打包,会把所有依赖项都打进jar文件中,在调试阶段需要频繁传输jar包时很痛苦。 2. 查找:上网搜索”maven 打包 依赖分离”等关键字,多数文章使用了maven-jar-plugin或其他插件,把spring-boot-maven-plugin替换掉了,例如:https://www.iteye.com/blog/icw-zy-2380977 不说会不会有什么影响,单纯就觉得不完美 -- 自. 阅读详情

相关推荐

Maven 三种项目打包方式:POM、JAR 和 WAR 的区别详解

在 Java 项目开发中,Maven 是一个广泛使用的构建工具。它提供了标准的项目结构、依赖管理和打包机制,帮助开发者轻松管理复杂的 Java 项目。在 Maven 中,项目的打包方式有多种,常见的有 `pom`、`jar` 和 `war` 三种打包类型。每种打包类型都有其独特的用途和场景,理解它们的区别有助于我们选择最适合当前项目的打包方式。 本文将详细介绍 Maven 中这三种项目打包方式的区别及其应用场景,帮助你深入理解如何根据项目需求选择合适的打包方式。

fudaihb的博客 2968

maven打一个可执行的jar包

org.apache.maven.plugins maven-dependency-plugin copy-dependencies prepare-package

赶路人儿 1315

Win 11 Fastboot驱动的详细安装教程

Fastboot驱动的详细安装教程

水w的博客 1万+

maven项目打包jar给其他项目pom外部引用

访问一下jar包里面的东西 可以看到也是可以访问的。

weixin_58215826的博客 625

px3 有感分析

px3 后续分析

qq_39707917的博客 3116

树莓派+STM32+激光雷达:大学生工训赛智能物流小车全栈开发实录(附避坑指南)

本文详细记录了基于树莓派、STM32和激光雷达的智能物流小车全栈开发过程。文章从系统架构设计、硬件集成、软件框架搭建到机械臂控制与视觉辅助定位,系统阐述了如何构建一个完整的机器人系统,并分享了在电源管理、通信延迟、里程计误差等关键环节的实战避坑指南,为嵌入式与机器人开发提供了宝贵经验。

kotlin6android的博客 748

浅谈java 中构建可执行 jar 包的几种方式

有时候,由于项目的需要,我们会将源码编译后以工具包(class打成jar包)的形式对外提供,此时, 你的 jar 包不一定要是可执行的,只要能通过编译,能被别人以 import 的方式调用就行了。但还有的 情况是,我们的 jar 包是要可执行的,即能直接在 cmd 下直接运行。前者的打包很简单,在 eclipse 中, 直接选中要打包的 java 文件和其它资源、依赖文件, export →

F7ANTY的专栏 627

[华中科技计组实验]logisim完成单周期5级流水MIPS CPU

[华中科技计组实验]logisim完成单周期5级流水MIPS32 CPU hu~,终于完成了,真是费劲呐 支持24条指令,5级流水线,可以对分支指令处理,寄存器冲突处理,指令ROM为1K,数据RAM为1M,32位MIPS指令集CPU 但是… 大量使用比较器造成硬件开销巨大,测试一下发现这尼玛真是个老爷车还没单周期跑的快,自己电脑cpu占百分之八九十只能跑到20多赫兹,一个走马灯跑了半天,可优化空间太大了,写了那么多天造成这个破样,有点悲剧。。。 先放个图大伙参考就行了,要是有人想听思路的话接下来再更 .

zrc的博客 1万+

maven 打包可执行jar 问题小结

最近项目用到maven,完成后要将项目打包成可执行的jar,在网上搜了很多打包方法,但总有个个别问题在那里 pom配置文件增加下面配置,执行mvn clean package org.apache.maven.plugins maven-jar-plugin true Main

zml6308的专栏 9113

四足机械臂避坑指南:从URDF配置到逆运动学控制的完整流程

本文为四足机械臂(Loco-Manipulation)系统开发提供了一份详实的实战避坑指南。文章深入剖析了从URDF模型配置、核心控制循环设计到逆运动学(IK)求解与奖励函数构建的完整流程,重点讲解了如何避免关节命名错误、惯性参数设置不当、IK求解不稳定等常见陷阱,并强调了利用collision_bbox等可视化工具进行高效调试的方法,旨在帮助工程师构建稳定、高效的四足机械臂控制系统。

weixin_42509507的博客 192

《干货满满!AI 应用架构师打造 AI 驱动生产计划的实战技巧》

生产计划是制造企业的“大脑”——它决定了买什么物料、产多少产品、用什么设备、什么时候交货,直接影响企业的成本、效率和客户满意度。需求预测靠经验,误差常超20%;排产依赖Excel,调整一次要3天;供应链协同靠邮件,物料延迟导致停产屡见不鲜。作为AI应用架构师,我们的任务是用AI重新“激活”这个“大脑”——用数据驱动的预测替代经验判断,用智能优化替代人工排产,用实时协同替代被动响应。本文结合3个制造业实战案例5段可运行代码2个数字孪生模型,从架构设计→核心模块实现→落地踩坑。

移动开发前沿的博客 1083

如何利用IDEA通过创建Maven项目来实现hadoop相关项目

前言 已经安装好IDEA,并且配置好JDK和maven 一、创建一个Maven项 点击玩Finish之后,等待加载完项目(第一次加载需要等一段时间) 如图示,maven项目加载完毕,并将下图所示内容删除 二、导入hadoop相关依赖,即修改pom.xml文件 在</project>前的<build>节点下面增加如下内容: <plugins> <plugin> <groupId>or..

hxhxhzjz的博客 1万+

Python爬虫实战:利用最新技术爬取B站视频信息

本文详细介绍了如何使用Python最新技术构建一个功能完善的B站视频信息爬虫。我们从基础爬取开始,逐步深入到反反爬策略、异步处理、数据存储和分析等高级主题。更智能的反反爬策略:使用机器学习识别验证码更高效的分布式架构:结合Kubernetes实现弹性伸缩实时数据管道:将爬取的数据实时推送到数据分析平台多平台支持:扩展支持抖音、YouTube等其他视频平台。

2201_76125261的博客 1040

Maven引用本地jar包以及打包发布注意事项

2、maven编译时找不到本地引用的jar包 在maven编译完成后,运行jar包的时候报错找不到本地引用的jar包,需要在pom文件中build中增加配置: 同步下maven后重新编译发现问题解决。在pom中添加如下配置 maven编译后可以在target中看到生成的jar包,如下图:完整的build如下:............

qq_37634156的博客 1万+

LangChain面试内容整理-知识点27:LangChain性能调优

LLM应用可能面临响应慢、成本高等性能问题。LangChain提供了一些优化方法和经验来提升性能和效率。

不务正业的猿 327

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Maven打包遇到的坑,打不进去依赖。

最近做项目整合的时候,遇到一个问题,每个工程打出来的jar之后几十KB,发现依赖都没有打进来,查了半天原因没找到,后来加了一段代码搞定,但还是不理解为什么。 <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring...

lixin200609的博客 3470

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IDEA 2020.02 中使用 Maven 打包jar(不含引用依赖,含引用依赖)

最近在idea中使用maven打包一个jar,各种踩坑,记录如下。 目录 踩坑开始。 打包jar(不含依赖) 打包jar(含依赖,踩坑重点) 成功含赖打包 首先,本次的项目是 含maven的java普通项目 。 踩坑开始。 第一个就是,java: 程序包com.sun.istack.internal不存在 这是因为我在项目中引用了。 import com.sun.istack.internal.NotNull; 这个类。 解决办法,如下。 在 pom.xml

该用户很懒, 没有写毛~~ 5658

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java - Maven项目打包成jar给第三方使用(带依赖打包)

打包成jar 引入这个jar 安装到本地仓库 直接指定jar包的位置由于我们写项目的时候,有的时候并不是一个独立项目,而是作为一个第三方类库来提供服务的存在,用来给别的项目引入作为某个功能的封装。打包成jar解决方案主要是从pom.xml来入手,因为是maven项目,所以在pom里面加入build的参数,然后就可以了。 <build> <plugins>

累了就歇一会 1万+

快速配置maven依赖——pom.xml配置

  用maven也有一段时间,以前一直是到处百度看别人的pom.xml怎么写,需要什么jar包,然后自己再copy过来,这样做效率很低。   今天介绍一种很方便的为maven项目寻找正确jar包的方法:通过maven中央仓库网站进行查找;   maven repository:maven中央仓库   链接打开后如下:      那么怎么使用这个网站呢?   举例,我需要写一个java发...

空夜's Blog 1万+

使用maven-assembly-plugin插件,将maven管理的远程和本地依赖jar包打入可执行jar包

最近在修改一个小工具,原来的做法是把依赖包都下载到本地目录,打包时候使用fatjar打包整个项目依赖;现在修改为maven管理依赖包,使用maven-assembly-plugin插件打包;如果依赖包全部是远程默认的依赖配置,这样没有问题;因为本地依赖包scope配置为system,而默认的配置为runtime,所以本地依赖包没有打进去。当然默认的配置也是可以使用的,这个时候可以把本地依赖上传到maven仓库;处理方案:使用自定义配置替代maven-assembly-plugin的默认配置。

一个标题 1271

maven打包jar包含依赖jar(spring项目,其余可参考)maven-shade-plugin

一丶打包工具选择网上说法比较多的有maven-shade-plugin和maven-assembly-pluginmaven-assembly-plugin打包的很有可能出现: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to lo...

qq_32234865的博客 944

Maven 项目关于 plexus-utils:jar的错误解决

Maven 项目关于 plexus-utils:jar的错误解决

太阳火神的美丽人生 1万+

SpringBoot打包成jar包时配置分离,依赖jar分离

前言: 在springboot官方文档中貌似没找到,把依赖和配置文件打包出来的教学。不过却看到了有趣的东西。那就是spingboot加载配置文件的顺序,优先级由高到底,高优先级的配置会覆盖低优先级的配置; –file:./config/ –file:./ –classpath:/config/ –classpath:/ 所以当时想的第一种方法就是配置一下pom.xml打包的时候排除config下的...

awake_lqh的博客 1769

springboot 3:部署jar包与依赖包分离打包

问题:springboot构建jar部署,maven构建的jar包含 \BOOT-INF\lib\下的所有依赖jar包,jar包文件太大。 解决: maven install之后,将jar包用360打开,将jar包中BOOT-INF里面的lib拷出来,然后将jar包的lib删掉 启动:java -Dloader.path=lib/ -jar xxx.jar ...

weixin_37630333的博客 1507

Eclipse中带有第三方依赖的Maven项目打包方式

Eclipse中带有第三方依赖的Maven项目打包方式 最近正在学习流式计算系统,测试阶段在跑本地模式时需要将Flume、Kafka以、Storm以及Redis整合到一个Java项目中,于是乎在Eclipse中整了个Maven项目,加入了各种依赖包,但是因为之前在做分布式离线计算系统都是把依赖包直接整合成一个自定义的外部依赖库(User Library),然后直接用编辑器自带的打包指令直接打包,...

Ἥλιος 1069
上一篇: Java代码编译过程简述
下一篇: spark submit参数及调优
TheManOfCoding
博客等级 码龄9年 24粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值