my DAO的java.lang.NoClassDefFoundError
我正在使用spring.xml进行控制器和dao配置。我的spring-config.xml如下:my DAO的java.lang.NoClassDefFoundError,java,spring,Java,Spring,我正在使用spring.xml进行控制器和dao配置。我的spring-config.xml如下: <bean id="courseDao" class="com.platysgroup.lmex.adapter.moodle.dao.CourseDao" init-method="setMoodleDataSource" depends-on="moodleAuthenticationDetails"> <property name="adapterDataS
<bean id="courseDao" class="com.platysgroup.lmex.adapter.moodle.dao.CourseDao"
init-method="setMoodleDataSource" depends-on="moodleAuthenticationDetails">
<property name="adapterDataSource" ref="adapterDataSource"></property>
<property name="userDao" ref="userDao"></property>
<property name="announcementDao" ref="announcementDao"></property>
<property name="roleDao" ref="roleDao"></property>
<property name="logDao" ref="logDao"></property>
</bean>
我的项目中有一个coursedao类,它位于com.platysgroup.lmex.adapter.moodle.dao包中,项目名为lmex impl。但是我的spring配置并不是从lmex-impl.jar获取类。spring-config.xml位于lmex web项目中。另一件事是他给我指明了一条错误的道路。错误的名称是Lcom/platysgroup/lmex/adapter/moodle/dao/CourseDao代码>而不是com/platysgroup/lmex/adapter/moodle/dao/CourseDao代码>异常完整堆栈跟踪如下所示:
<bean id="courseDao" class="com.platysgroup.lmex.adapter.moodle.dao.CourseDao"
init-method="setMoodleDataSource" depends-on="moodleAuthenticationDetails">
<property name="adapterDataSource" ref="adapterDataSource"></property>
<property name="userDao" ref="userDao"></property>
<property name="announcementDao" ref="announcementDao"></property>
<property name="roleDao" ref="roleDao"></property>
<property name="logDao" ref="logDao"></property>
</bean>
servlet.servlet.ServletException:servlet的servlet.init()Spring MVC调度程序servlet引发异常
org.tuckey.web.filters.urlrewrite.normalrewritenurl.doRewrite(normalrewritenurl.java:195)
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:159)
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
根本原因
NoClassDefFoundError:Lcom/platysgroup/lmex/adapter/moodle/dao/CourseDao;
java.lang.Class.getDeclaredFields0(本机方法)
java.lang.Class.privateGetDeclaredFields(Class.java:2291)
java.lang.Class.getDeclaredFields(Class.java:1743)
org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.findResourceMetadata(CommonAnnotationBeanPostProcessor.java:315)
org.springframework.context.annotation.CommonAnnotation
java.lang.ClassNotFoundException:com.platysgroup.lmex.adapter.moodle.dao.CourseDao
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
请帮我解决这个问题
谢谢当JRE找不到类时,会抛出NoClassDefFoundError。在您的情况下,它找不到类Lcom/platysgroup/lmex/adapter/moodle/dao/CourseDao,您很可能没有将其添加到类路径中。前缀“L”表示类的实例。请看。您应该重点查找beancourseDao
的配置问题,并检查其所有依赖项是否都在同一应用程序上下文中 我有com/platysgroup/lmex/adapter/moodle/dao/包中的所有dao类,但例外情况是我得到一个Lcom/platysgroup/lmex/adapter/moodle/dao/CourseDao。在我的bean标记中,类属性名是com/platysgroup/lmex/adapter/moodle/dao/CourseDao。比它也给一个例外NoClassDefFoundError请做一个干净的建设!还可以在项目文件中搜索“Lcom”实例。您已经问了23个问题,但没有接受任何答案。如果你不还钱,社区就不会这么热心地帮助你。我也搜索了关于这个L
及其含义的信息。不幸的是,你的链接不再有效。我在这里找到信息: