当我尝试运行该应用程序时,我遇到了这个问题:
警告:[SetContextPropertiesRule] {Context}设置属性' source' to' org.eclipse.jst.j2ee.server:CongressApp'没找到匹配的 属性。 2014年5月13日下午1:35:26 org.apache.catalina.core.StandardContext listenerStart SEVERE:错误 配置类的应用程序监听器 org.apache.catalina.deploy.ApplicationListener@bdeab 抛出java.lang.ClassNotFoundException: com.iss.congress.core.util.CongressContextListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 在 org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 在 org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 在 org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656) 在 org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1635) 在 java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334) 在java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:722)
2014年5月13日下午1:35:26 org.apache.catalina.core.StandardContext listenerStart SEVERE:配置类的应用程序侦听器时出错 org.apache.catalina.deploy.ApplicationListener@6a5b20 抛出java.lang.ClassNotFoundException: com.iss.congress.core.util.CongressHttpSessionListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 在 org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 在 org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 在 org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656) 在 org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1635) 在 java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334) 在java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:722)
2014年5月13日下午1:35:26 org.apache.catalina.core.StandardContext listenerStart SEVERE:配置类的应用程序侦听器时出错 org.apache.catalina.deploy.ApplicationListener@1bacb12 抛出java.lang.ClassNotFoundException: com.iss.congress.core.util.HibernateListener at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 在 org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) 在 org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) 在 org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4854) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656) 在 org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1635) 在 java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334) 在java.util.concurrent.FutureTask.run(FutureTask.java:166)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:722)
在web.xml中,侦听器以这种方式配置:
<listener>
<listener-class>com.iss.congress.core.util.CongressContextListener</listener-class>
</listener>
<listener>
<listener-class>com.iss.congress.core.util.CongressHttpSessionListener</listener-class>
</listener>
<listener>
<display-name>Hibernate Session Listener</display-name>
<listener-class>com.iss.congress.core.util.HibernateListener</listener-class>
</listener>
答案 0 :(得分:5)
这是java.lang.ClassNotFoundException: com.iss.congress.core.util.HibernateListener
的情况,这意味着类路径中不存在类HibernateListener
。确保包含此类的jar存在于应用程序的WEB-INF/lib
文件夹中。
如果该类存在于src文件夹中,请检查包名称。包名称/类名称区分大小写。
答案 1 :(得分:1)
可能有以下任何原因:
或者,您的类文件在指定位置不可用(请检查您的package_name / class_file_name.java)
或者,您的文件存在于指定位置,但是文件中存在错误,可以将其生成(生成类文件)
(对我来说,问题的原因是第2点。)问题的根本原因是,我更改(升级)了其余库的版本,这导致了现有类文件的问题。
我通过添加/选择适当的Apache Tomcat服务器解决了一个问题。
项目属性=> Java构建路径=>添加库=>选择
Server Runtime
=>单击“下一步”并选择“ Apache Tomcat” =>完成
答案 2 :(得分:0)
碰巧我在侦听器类中进行了编辑,然后将其保存并重新发布到tomcat中,发现找不到类错误。
我所做的是删除侦听器类中的更新,重新发布到tomcat,然后再次添加更新。.之所以这样做,是因为我怀疑由于任何原因,.class生成中的eclipse存在问题,尽管我几次清理了项目。
删除我的更新,保存(具有该类的新编译版本),然后再次添加我的更新已为我解决了该问题。
是的,这似乎不合逻辑,但有时会出现IDE问题。