我是休眠新手,不太确定我的应用程序出了什么问题。
所以我有这两个模块:核心和网站。
- 模块核心拥有所有实体、DAO 和所有数据库工作。所有 DAO 都继承 AbstractDAO。
- Module Website 完成所有前端工作,如jsps、mvc 控制器...它是一个支持spring 框架的maven 模块。
我正在尝试使用 ehcache 工厂实现二级缓存。但是我收到这个错误:
org.springframework.beans.factory.BeanCreationException:创建名称为“org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0”的bean时出错:调用init方法失败;嵌套异常是java.lang.NoClassDefFoundError:无法初始化类org.hibernate.validator.internal.engine.ConfigurationImpl
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1568)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:540)
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:302)
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229)
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298)
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725)
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:663)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:629)
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:677)
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:548)
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:489)
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
javax.servlet.GenericServlet.init(GenericServlet.java:158)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2503)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2492)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)
当我添加 logback-classic.jar 时出现错误,但如果删除它,我会收到另一个错误。
org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是 java.lang.NoClassDefFoundError: ch/qos/logback/classic/selector/ContextSelector
在 org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1287)
在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961)
在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
在 com.before90.website.action.application.ControllerServlet.doService(ControllerServlet.java:28)
在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
我不知道为什么会出现错误。它表明存在一个 spring 框架错误,其中 spring 没有在核心模块(所有 DAO 所在的位置)中实现。任何建议将不胜感激。
谢谢
如果您使用 hibernate-validator,就我而言,我只是添加了一个依赖项,如下所示:(因为 javax.xml.bind 在 JAVA 9 及更高版本中默认在类路径上不可用,请参阅https://docs.oracle.com/javase/9/docs/api/java.xml.bind-summary.html
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)