2015-09-25 63 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,这很酷! –

相关问题