maven项目java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
云起网2019-04-15
语言基础479
使用maven的时候老是出现这个问题,特别是新建开发项目的时候
发生java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
根据提示,错误的原因是因为缺少slf4j日志组件jar包,有以下几种情况:
1、没有引入jar slf4j-api
配置pom.xml或者引入3个jar
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> <scope>compile</scope> </dependency>
slf4j需要结合具体日志系统来实现。SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。
2、检查下maven的本地仓库jar的文件大小是否正常。
由于网络原因什么的,可能导致这个版本的jar包是0字节,在本地仓库将slf4j-api 1.7.25版本的这个目录删了,然后回到项目重新引一下slf4j的依赖。
3、其他jar依赖引入了slf4j,然后项目pom.xml中又手动依赖了一个版本,两者冲突导致了异常。
在intellij的Maven projects的Dependencies中检查是否有重复的依赖。
很赞哦! ()