JAVA第三方包导入但找不到类_Maven项目引用的第三方jar包中的类找不到:ClassNotFoundException...

问题

Project A 引用了 b.jar,本身编译正常,无报错;但是启动springboot的时候报错

Caused by: java.lang.ClassNotFoundException: com.google.common.util.concurrent.ThreadFactoryBuilder

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 38 common frames omitted

原因

排查发现 b.jar 的源码使用了ThreadFactoryBuilder,但是 idea 并没有导入相关的jar包com.google.guava

解决

Project A 的 父pom 需要指定依赖

com.google.guava

guava

25.1-jre

Project A 的module 子pom 需要引入一下

com.google.guava

guava

4023c742cef1

图片.png

其实上两步只解决了com.google.guava依赖的问题,启动还会有报错

Caused by: java.lang.ClassNotFoundException: org.reflections.Reflections

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

... 26 common frames omitted

使用mvn dependency:tree 查看依赖,其实是缺少了org.reflections;参照第1,2步配置好org.reflections就行了;

如果mvn dependency:tree提示 Project A 自己的module 不在仓库中,可以先mvn clean install -Dtest.skip 一下

4023c742cef1

图片.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值