美文网首页
java.lang.NoClassDefFoundError:

java.lang.NoClassDefFoundError:

作者: 木脑 | 来源:发表于2019-09-27 16:50 被阅读0次

    NoClassDefFoundError和ClassNotFoundException的区别本文不做详细描述,前者是运行时,后者是编译时的。主要讲解排查过程。

    Springboot项目发布为War项目运行时报错。报错的代码:

    public final class BeanUtils {
        private static MapperFacade a = new DefaultMapperFactory.Builder().build().getMapperFacade();
            ...
    }
    

    1、通过分析以为是自定义的工具包有问题,于是把代码提出来放到项目中依然有问题。
    2、通过分析报错的原因,判断可能是因为依赖包的问题,发现项目中有 orika-core-1.5.0.jar这个依赖包。排除问题。
    3、再通过 orika-core-1.5.0.jar的Pom文件分析发现有concurrentlinkedhashmap-lru-1.4.2.jar未下载。但是我们发布为Jar的时候确实是可以运行的。
    4、结果发现运来Jar是通过Linux下的jenkins编译的,而war是通过windows编译的。基本确定问题,我们使用Jenkins编译war就正常的。

    但是 大大的但是 为啥windows下的Maven管理这种依赖关系报错呢?难道是BUG。
    依赖关系:
    业务项目 -- 自定义工具包 -- orika-core-1.5.0.jar -- concurrentlinkedhashmap-lru-1.4.2.jar

    相关文章

      网友评论

          本文标题:java.lang.NoClassDefFoundError:

          本文链接:https://www.haomeiwen.com/subject/bjmdyctx.html