本文為博主原創,轉載需注明出處:
在開始新的項目的時候,啟動報 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了。
留言以鼓勵自己和看我博客的人:
你不是我,怎知我走過的路,心中的苦與樂。