即使在类路径中正确包含了包含该类的jar,也会发生ClassNotFoundException [英] ClassNotFoundException even though the jar containing the class is properly present in the classpath
问题描述
我正在eclipse中配置一个新项目。我的项目有很多模块,其中一个名为eas.core。
到我的eas.core模块的buildPath中,我添加了一个jar文件common.jcr.jar,其中包含名为 ContentRepositorySettings
的类。我的密码。但是在运行时,我仍然得到 ClassNotFoundException
如下所示
I'm configuring a new project in eclipse. my project has many modules including one of them named eas.core.
to the buildPath of my eas.core module, i have added a jar file common.jcr.jar containing a class named ContentRepositorySettings
, that I'm using into my codes. but on runtime, I'm still getting a ClassNotFoundException
as shown below
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)
推荐答案
如果您的项目是 Faceted
,请右键单击该项目,然后转到属性
,然后在左侧窗格中选择 Deployment Assembly
。检查依赖项是否存在于构建路径
条目或 Archives
(罐子)中。完成此操作后,您可以执行项目
> 清洁
并重新启动服务器。
If your project is Faceted
, right click on the project and go to Properties
, and choose Deployment Assembly
on the left pane. Check if the dependencies exists there as Build Path
entries or Archives
(jars). Once this is done you may do Project
>Clean
and restart the server.
这篇关于即使在类路径中正确包含了包含该类的jar,也会发生ClassNotFoundException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!