my DAO的java.lang.NoClassDefFoundError

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

我正在使用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="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”表示类的实例。请看。您应该重点查找bean
courseDao
的配置问题,并检查其所有依赖项是否都在同一应用程序上下文中

我有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
及其含义的信息。不幸的是,你的链接不再有效。我在这里找到信息: