Spring Boot打包成的jar包 ,为什么不能被其他项目依赖?报错找不到该类

spring聚合项目,项目A本来是没有springboot启动类的,只是被其他项目B依赖,后面有一天,项目A也做改成了一个需要启动的服务,然后加了spring boot的启动类,在pom文件中加上了springboot的maven插件:spring-boot-maven-plugin。然后在打包的时候到项目B,就报错,找不到依赖A中的类,一开始百思不得其解,明明有那个类,还可以点进去,但是打包的时候就是说找不到引用的那个类,被这个问题困扰了好久。后面找到一篇文章,才清楚其中缘由:

Spring Boot 中默认打包成的 jar 叫做 可执行 jar,这种 jar 不同于普通的 jar,普通的 jar 不可以通过 java-jar xxx.jar 命令执行,普通的 jar 主要是被其他应用依赖, SpringBoot 打成的 jar 可以执行,但是不可以被其他的应用所依赖,即使强制依赖,也无法获取里边的类。但是可执行 jar 并不是 Spring Boot 独有的,Java 工程本身就可以打包成可执行 jar 。

在springboot里面需要打包成可执行的jar,也就是能启动成一个服务的,需要用到 spring-boot-maven-plugin。

 

 

 

原文剖析得比较清楚

原文链接:https://zhuanlan.zhihu.com/p/72955064

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值