Maven项目引用第三方jar包找不到类ClassNotFoundException

 更新时间:2023年07月17日 11:42:00   作者:南岩飞雪  
这篇文章主要为大家介绍了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 需要指定依赖
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>25.1-jre</version>
            </dependency>
  • Project A 的module 子pom 需要引入一下
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
            </dependency>

  • 其实上两步只解决了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 一下

以上就是Maven项目引用第三方jar包找不到类ClassNotFoundException的详细内容,更多关于Maven引用jar找不到类的资料请关注脚本之家其它相关文章!

相关文章

  • Mybatis 级联删除的实现

    Mybatis 级联删除的实现

    这篇文章主要介绍了Mybatis 级联删除的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • SpringBoot事务注解超详细讲解

    SpringBoot事务注解超详细讲解

    这篇文章主要给大家介绍了关于SpringBoot事务注解的相关资料,在Spring Boot中,事务管理是一个非常重要的概念,我们可以使用事务注解来控制事务的行为,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • Spring中事件发布机制及流程详解

    Spring中事件发布机制及流程详解

    这篇文章主要介绍了Spring中事件发布机制及流程详解,在分析源码的过程中,也是大量使用了事件机制,在我分析的这篇博客中,有不少地方都运用了事件发布机制,所以本文的目的是从SpringBoot中学习到事件的发布流程,需要的朋友可以参考下
    2023-11-11
  • java实现商品信息管理系统

    java实现商品信息管理系统

    这篇文章主要为大家详细介绍了java实现商品信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Java package编译乱码问题解决

    Java package编译乱码问题解决

    这篇文章主要介绍了Java package编译乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • SpringCloud Config使用本地仓库及map注入

    SpringCloud Config使用本地仓库及map注入

    这篇文章主要介绍了SpringCloud Config使用本地仓库及map注入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • SpringBoot使用异步线程池实现生产环境批量数据推送

    SpringBoot使用异步线程池实现生产环境批量数据推送

    本文主要介绍了SpringBoot使用异步线程池实现生产环境批量数据推送,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • java实现的密码强度检测功能完整示例

    java实现的密码强度检测功能完整示例

    这篇文章主要介绍了java实现的密码强度检测功能,结合完整实例形式分析了java针对密码强度检测相关的字符串遍历、判断,以及输出密码强度等级相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • Java如何分析算法的时间和空间复杂度

    Java如何分析算法的时间和空间复杂度

    这篇文章主要介绍了Java如何分析算法的时间和空间复杂度,在计算机科学中,计算复杂性解释了算法的性能。文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-06-06
  • 一篇文章带你深入了解Java对象与Java类

    一篇文章带你深入了解Java对象与Java类

    这篇文章主要给大家介绍了关于java中类和对象的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-08-08

最新评论