我使用Eclipse在Java中编程,我遇到以下错误:
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.sis.artemis.dashboard.statistics.sdis.personnels.service.SdisPersonnelsStatisticsServiceImpl] for bean with name 'sdisPersonnelsStatisticsService' defined in class path resource [resources/sdis-services.xml]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: com/sis/artemis/dashboard/statistics/sdis/personnels/service/SdisPersonnelsStatisticsService at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1238) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:576) at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1304) at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:870) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:556) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4135) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4630) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardHost.start(StandardHost.java:785) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445) at org.apache.catalina.core.StandardService.start(StandardService.java:519) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:581) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.lang.NoClassDefFoundError: com/sis/artemis/dashboard/statistics/sdis/personnels/service/SdisPersonnelsStatisticsService at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2722) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1124) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at org.springframework.util.ClassUtils.forName(ClassUtils.java:257) at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408) at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1256) at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1227) ... 24 more 20 juil. 2011 11:32:36 org.apache.catalina.core.StandardContext start GRAVE: Error listenerStart 20 juil. 2011 11:32:36 org.apache.catalina.core.StandardContext start GRAVE: Erreur de démarrage du contexte [/artemis-dashboard-spring] suite aux erreurs précédentes
但是班级定义明确,我今天早上没有这个问题而且我没有改变任何东西。
有人有想法解决我的问题吗?
答案 0 :(得分:1)
首先要认识到的是这个错误是runtime
问题,通常是类路径问题。确保它所抱怨的类在您的类路径中。如果有问题的类位于另一个jar中,请确保jar在您的类路径中。如果该类位于项目的其他位置,请确保如果从eclipse运行该类,则该类位于源文件夹或类似文件夹中。
此错误表示该类在编译时出现,但现在运行代码的JVM无法再找到相关的类。
答案 1 :(得分:0)
您似乎正在使用tomcat作为Web应用程序服务器?众所周知,Tomcat存在类加载问题。每当你重启tomcat时,还要记得清空它的工作和临时文件夹(直接位于tomcat主文件夹中)。
答案 2 :(得分:0)
我不确定您使用的Tomcat版本,但请查看Tomcat中类加载器的文档;
Doco for class loader in Tomcat Version 6.0。你说你的班级在“源文件夹”中。也许尝试确保编译的.class文件在WEB-INF / classes
中它看起来也找不到 SdisPersonnelsStatisticsService ,它可能是 SdisPersonnelsStatisticsServiceImpl 的接口类。确保两个(.class文件,而不是.java文件)都在您的类路径(或WEB-INF / classes)中
答案 3 :(得分:0)
我这样解决了我的问题: 我删除了我的tomcat服务器并重新安装它,现在这个工作,我不知道为什么......
感谢大家的帮助,并为我抽出时间。