2015-09-25 64 views
5

我在eclipse中配置了一個新項目。我的項目有很多模塊,其中一個名爲eas.core。 我的eas.core模塊的buildPath,我添加了一個jar文件common.jcr.jar,其中包含一個名爲ContentRepositorySettings的類,我將其用於我的代碼中。但在運行時,我仍然得到一個ClassNotFoundException如下圖所示ClassNotFoundException即使包含該類的jar在類路徑中正確存在

java.lang.NoClassDefFoundError: cm/bao/common/jcr/ContentRepositorySettings 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2944) 
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1208) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569) 
at cm.bao.eas.core.ElectronicArchivingApplicationImpl.setupGlobalSettings(ElectronicArchivingApplicationImpl.java:33) 
at cm.bao.eas.core.ElectronicArchivingApplicationImpl.start(ElectronicArchivingApplicationImpl.java:49) 
at cm.bao.eas.ui.gwt.server.listner.ElectronicArchivingContextListner.contextInitialized(ElectronicArchivingContextListner.java:18) 
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:745) 
Caused by: java.lang.ClassNotFoundException: cm.bao.common.jcr.ContentRepositorySettings 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569) 
+1

當「在我的類路徑中正確」時,實際**顯示**類路徑很重要。理想情況下複製並粘貼它,以保留錯字。 –

+1

是的,我會補充說它實際上並不是Eclipse中的類路徑,而是WAR文件的內容。 –

+0

看起來你有重複的副​​本 –

回答

8

如果你的項目是Faceted,右鍵單擊該項目,並去Properties,並選擇在左窗格中Deployment Assembly。檢查依賴項是否存在Build Path條目或Archives(罐子)。完成此操作後,您可以執行Project>Clean並重新啓動服務器。

+1

好吧,我按照你的指示,它正常工作。感謝James – blaiso

+0

@blaiso,這很酷! –

相關問題