java.lang.NoClassDefFoundError错误

阅读更多
jar包冲突导致的java.lang.NoClassDefFoundError错误

(本文只是描述导致NoClassDefFoundError错误的一个原因,其他原因不在文中表述。)

在eclipse使用ctrl+shift+t,输入异常的类名,查看是否有同包名,不同jar包下的多个类存在。

删除冲突的jar。


本人在实际使用中是commons-logging.jar与slf4j的jcl-over-slf4j.jar的LogFactory.java的冲突。

排查过程,首先查找到了冲突的两个包。
因为是maven项目,部分依赖关系已经排除了commons-logging.jar的依赖关系。

    
	commons-logging
	commons-logging
    


但是该jar依然存在于项目中,怀疑是依赖关系没有完全排除。

使用maven build的dependency:tree,查找输出内容中的commons-logging,查找该依赖的父级,添加排除依赖关系代码。

你可能感兴趣的:(java.lang.NoClassDefFoundError错误)