本文由 本人CSDN 转码, 原文地址 Caused by: java.lang.NoClassDefFoundError: net/sf/jsqlparser/statement/select/SelectExpressionItem问题_caused by: java.lang.classnotfoundexception: net.s-CSDN博客
今天开发的时候出现了这么一个 bug,提示我
net .sf.jsqlparser.statement.select.SelectItem
Caused by: java.lang.NoClassDefFoundError: net/sf/jsqlparser/statement/select/SelectExpressionItem
at com.ylink.health.utils.config.DatabaseConfig.paginationInterceptor(DatabaseConfig.java:27)
at com.ylink.health.utils.config.DatabaseConfig$$SpringCGLIB$$0.CGLIB$paginationInterceptor$1(<generated>)
at com.ylink.health.utils.config.DatabaseConfig$$SpringCGLIB$$FastClass$$1.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258)
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:348)
at com.ylink.health.utils.config.DatabaseConfig$$SpringCGLIB$$0.paginationInterceptor(<generated>)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:146)
... 118 common frames omitted
Caused by: java.lang.ClassNotFoundException: net.sf.jsqlparser.statement.select.SelectExpressionItem
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 129 common frames omitted
在此之前我只引入了一个公司其他项目的包,那问题肯定就出在包的问题上。
经过网上查询资料,发现总结是因为不同版本的 MyBatisPlus 的依赖冲突,然后就把导入的那个包相关 MyBatisPlus 的依赖进行一个 exclusions 操作,如下:
再启动就成功启动了,记录下这个缺陷。