SpringBoot 打成的 jar 包和普通的 jar 包有什么区别

article/2025/9/22 22:11:47

Spring Boot 中默认打包成的 jar 叫做可执行 jar,这种jar包可以通过可以通过命令(java -jar xxx.jar)来运行的,但这种jar包不能被其他项目所依赖,因为它和普通 jar 的结构不同,即使被依赖了也不能直接使用其中的类。
在这里插入图片描述
普通的jar包,解压后直接就是包名,包里就是我们的代码,而 Spring Boot 打包成的可执行 jar 解压后,在 \BOOT-INF\classes 目录下才是我们的代码,因此无法被直接引用。如果非要引用,可以在 pom.xml 文件中增加配置,将 Spring Boot 项目打包成两个 jar ,一个可执行,一个可引用。
在这里插入图片描述

如何让SpringBoot打的jar包可依赖?

在pom文件中增加以下配置:

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><executions><execution><goals><!--可以把依赖的包都打包到生成的Jar包中 --><goal>repackage</goal></goals><!--可以生成不含依赖包的不可执行Jar包 --><configuration><classifier>exec</classifier></configuration></execution></executions></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins>
</build>
  • 如下图,一次性打包生成两个jar,其中XXX.jar可被其它工程依赖,XXX-exec.jar可执行。
    在这里插入图片描述

http://chatgpt.dhexx.cn/article/4l5Ated2.shtml

相关文章

jar包结构

闲来无事&#xff0c;看了一下jar包的结构&#xff0c;今天来学习一下 就用这个spring-aop的jar包来举例子&#xff1a; 首先是META-INF文件夹下的文件&#xff1a;INDEX.LIST INDEX.LIST&#xff1a;顾名思义&#xff0c;索引列表。这个应该就是描述了当前jar包下所有的资源…

jar包

第三方API就是别人写的类&#xff0c;把别人的众多class拿来直接用&#xff0c;然后做一个集合压缩包&#xff0c;也就是jar包 案例&#xff1a; public class Memo04 { public static void main(String[] args) { //今天你购买了 航空意外保险 //今天是 20230508 //购买了 5…

Maven 项目查找 jar 包是由哪个依赖引入的

文章目录 1. 命令格式2. 使用示例 直接使用mvn dependency:tree可以查看项目完整的依赖树。 1. 命令格式 mvn dependency:tree -Dverbose -Dincludes要查询的内容dependency:tree&#xff1a;表示树状显示。-Dverbose&#xff1a;表示可以显示所有的引用&#xff0c;包括因为…

jar包应该怎么打?

1》首先确保你的项目能正常启动并运行 2》选中你的项目&#xff0c;点右键&#xff0c;选export&#xff08;导出&#xff09;&#xff0c;如下图&#xff1a; 3》选择runnable jar file,下一步&#xff0c;如下图&#xff1a; 4》如下图&#xff0c;直接看图&#xff1a; 5》…

jar包的结构

原模块 <parent><artifactId>cloud-demo</artifactId><groupId>cn.itcast.demo</groupId><version>1.0</version> </parent> <artifactId>feign-api</artifactId>maven install 在本地仓库就生成了下面的文件夹和…

java中的JAR包

使用JAR文件 JAR文件的全称是 Java Archive File&#xff0c;意思就是Java档案文件。通常JAR文件是一种压缩文件&#xff0c;与常见的ZIP压缩文件兼容&#xff0c;通常也被称为JAR包。JAR文件与ZIP文件的区别就是在JAR文件中默认包含了一个名为META-INF/MANIFEST.MF 的清单文…

什么是java包?java包作用是什么?

在Java中的包是一种封装一组类、子包和接口的机制,可用于组织一组相关的类和接口。那么具体什么是java包&#xff1f;java包作用是什么&#xff1f;本篇来简单解答下。 什么是java包&#xff1f; Java 包(package) package是一个为了方便管理组织java文件的目录结构&#xf…

Java 包(什么是包?)

包 概念导入包中的类静态导入将类放到包中基本规则操作步骤 包的访问权限控制常见的系统包 概念 包(package) 是组织类的一种方式. 使用包的主要目的是保证类的唯一性. 例如&#xff1a;你在代码中写了一个 Test 类. 然后你的舍友也可能写一个 Test 类. 如果出现两个同名的类,…

一、JAR包

一、JAR包 1、什么是jar包 **jar包就是 Java Archive File&#xff0c;顾名思义&#xff0c;它的应用是与 Java 息息相关的&#xff0c;是 Java 的一种文档格式&#xff0c;是一种与平台无关的文件格式&#xff0c;可将多个文件合成一个文件。**jar 包与 zip 包非常相似——准…

jar 包

文章目录 1.什么是 jar 包?2.怎么打 jar 包&#xff1f;2.1在 cmd 环境下打 jar 包2.2在 cmd 使用打的 jar 包方式一方式二 2.3补充&#xff1a;jar 包是可以直接运行的2.4在IDEA中打 jar 包2.5在IDEA中运行打好的 jar 包 3.补充&#xff1a;cmd环境变量相关命令 1.什么是 jar…

jar包是什么?

什么是jar包 JAR&#xff08;Java ARchive&#xff0c;Java 归档&#xff09;是一种与平台无关的文件格式&#xff0c;可将多个文件合成一个文件。用户可将多个 Java applet 及其所需组件&#xff08;.class 文件、图像和声音&#xff09;绑定到 JAR 文件中&#xff0c;而后作…

Jar包基础学习

一.什么是jar包 在软件领域&#xff0c;JAR文件&#xff08;Java归档&#xff0c;英语&#xff1a;Java Archive&#xff09;是一种软件包文件格式&#xff0c;通常用于聚合大量的Java类文件、相关的元数据和资源&#xff08;文本、图片等&#xff09;文件到一个文件&#xff…

jar包完全解读

本文抄自&#xff1a;jar包的一些事儿 前言&#xff1a; 作为java程序员&#xff0c;日常工作就是打jar包&#xff0c;可是对jar包的了解有多少呢&#xff1f; 一、什么是jar包 jar包就是 Java Archive File&#xff0c;顾名思义&#xff0c;它的应用是与 Java 息息相关的&…

Python-基于词典-中文分词算法

文章目录 三种分词算法比较逆向最大匹配从后往前扫描词典匹配 概率分词原理DAG计算大概率路径 封装 图论知识补充图的表示方法概率图模型贝叶斯网络 三种分词算法比较 dt {空调: 1, 调和: 1, 和风: 1, 风扇: 1,空: 1, 调: 1, 和: 2, 风: 1, 扇: 1} # 词典 max_len max(len(…

分词算法介绍

如有需要可以转载&#xff0c;但转载请注明出处&#xff0c;并保留这一块信息&#xff0c;谢谢合作&#xff01; 部分内容参考互联网,如有异议,请跟我联系! 作者:刀剑笑(Blog:http://blog.csdn.net/jyz3051) Email:jyz3051 at yahoo dot com dot cn(at请替换成&#xff…

为什么中文分词比英文分词更难?有哪些常用算法?(附代码)

导读&#xff1a;人类文明的重要标志之一是语言文字的诞生。数千年来&#xff0c;几乎人类所有知识的传播都是以语言和文字作为媒介。 自然语言处理是使用计算机科学与人工智能技术分析和理解人类语言的一门学科。在人工智能的诸多范畴中&#xff0c;自然语言的理解以其复杂性、…

中文分词工具讨论

中文分词工具讨论 1 中文分词原理介绍 1.1 中文分词概述 中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。 1.2 中文分词方法介绍 现有的分词方法可分为三大类&#xff1…

几种中文分词工具

word分词 word分词是一个Java实现的分布式的中文分词组件&#xff0c;提供了多种基于词典的分词算法&#xff0c;并利用ngram模型来消除歧义。能准确识别英文、数字&#xff0c;以及日期、时间等数量词&#xff0c;能识别人名、地名、组织机构名等未登录词。能通过自定义配置文…

NLP词法分析(一):中文分词技术

文分词介绍 中文分词相较于英文分词要难许多&#xff0c;因为英文本身就是由单词与空格组成的&#xff0c;而中文则是由独立的字组成的&#xff0c;但同时语义却是有词来表达的。因此对于中文的分析与研究&#xff0c;首先应寻找合适的方法进行分词。现有的中文分词技术主要分…

双向最大匹配算法——基于词典规则的中文分词(Java实现)

目录 前言 一、中文分词理论描述 二、算法描述 1、正向最大匹配算法 2、反向最大匹配算法 3、双剑合璧 三、案例描述 四、JAVA实现完整代码 五、组装UI 六、总结 前言 中文分词所需要的词典放在公众号&#xff0c;关注文章末尾的公众号&#xff0c;回复“字典”获取…