java.lang.ClassNotFoundException但是项目里明明已经存在

  • Post author:
  • Post category:java


java.lang.ClassNotFoundException但是项目里明明已经存在

本文为博主原创,转载需注明出处:


https://www.cnblogs.com/zjdxr-up/p/9688213.html


在开始新的项目的时候,启动报 java.lang.ClassNotFoundException,但在项目中是可以定位到缺少的类:异常为:

复制代码

Caused by: java.lang.NoClassDefFoundError: com/pplive/ppcloud/common/base/BaseManager

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:763)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2529)

at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1321)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)

at java.lang.Class.getDeclaredFields0(Native Method)

at java.lang.Class.privateGetDeclaredFields(Class.java:2583)

at java.lang.Class.getDeclaredFields(Class.java:1916)

at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)

at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:269)

at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:137)

at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)

at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:336)

at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:776)

at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:307)

at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95)

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5262)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)

… 6 more

Caused by: java.lang.ClassNotFoundException: com.pplive.ppcloud.common.base.BaseManager

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1352)

at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)

… 27 more

复制代码

在项目中可以找到对应的类,当我定位到类时,发现该类是在另一个项目中,另一个项目被现在项目以jar包的方式引用,

当我右键项目—>>properties—>>选择Deployment Assembly,查看项目依赖的jar包资源时,发现引用的另一个项目的jar包没有引用进来。

解决办法:

右键项目—>>properties—>>选择Deployment Assembly—>> add—>>java Build path entries—>>next—>>全选你导入的jar包—>>finish—>>apply—>>ok;

然后重启项目,就ok了。

留言以鼓励自己和看我博客的人:

你不是我,怎知我走过的路