java.lang.NoClassDefFoundError: Could not initialize class

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容