今天遇到一个恶心的问题:在本地运行正常,但上传服务器报错,错误:java.lang.NoClassDefFoundError
先来看看NoClassDefFoundError和ClassNotFoundException这是两个相似但完全不同两个错误
NoClassDefFoundError和ClassNotFoundException区别 我们经常被java.lang.ClassNotFoundException和java.lang.NoClassDefFoundError这两个错误迷惑不清,尽管他们都与Java classpath有关,但是他们完全不同。NoClassDefFoundError发生在JVM在动态运行时,根据你提供的类名,在classpath中找到对应的类进行加载,但当它找不到这个类时,就发生了java.lang.NoClassDefFoundError的错误,而ClassNotFoundException是在编译的时候在classpath中找不到对应的类而发生的错误。ClassNotFoundException比NoClassDefFoundError容易解决,是因为在编译时我们就知道错误发生,并且完全是由于环境的问题导致。而如果你在J2EE的环境下工作,并且得到NoClassDefFoundError的异常,而且对应的错误的类是确实存在的,这说明这个类对于类加载器来说,可能是不可见的。
我解决的方法:
第一步我先检查了一下服务器上的包是否已存在,后查看存在
第二步,后经查是jar包版本过低导致的,我觉得出现这些个问题绝大部分要先查看jar包的版本,如果出现类似的问题,建议更换下高版本的jar包。
恍恍惚惚,一天过去了~~~
才疏学浅 ,请多指教 !
参考:https://blog.csdn.net/qq_40179546/article/details/82824252