【问题解决】java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory -已存在jar包

版权声明:如需非商业性转载,请保留署名,注明出处。如需商业性转载出版,请直接和我联系。 https://blog.csdn.net/btboyhappy/article/details/80619716

    最近碰到一个很奇葩的问题,本机运行无问题,但是打包在服务器上运行,调用接口时报java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory,我查看了一下运行工程的lib,发现已存在slf4j相关jar包,且版本一致,不存在版本冲突问题。

    后来想起来我把一个jar包放在$JAVA_HOME/jre/lib/ext目录下了,对比了一下我在工程lib中也有这个jar包,而这个jar包调用了org/slf4j/LoggerFactory,工程运行会先加载JDK中的jar包,然后JDK中的jar包无法加载相关依赖jar包,所以删掉JDK中的jar包就好了。


    总结,JDK的lib中添加新jar包最好不要和工程中冲突,而且JDK中的jar需要能调用到其相关依赖jar包,这个里面的jar包容易被忽略。



猜你喜欢

转载自blog.csdn.net/btboyhappy/article/details/80619716