创建名称为'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0的bean时出错

S. *_* H. 3 java hibernate

我刚进入休眠状态,不太确定我的应用程序有什么问题。所以我有这两个模块:核心和网站。

  • 模块核心具有所有实体,dao和所有数据库工作。所有DAO都继承AbstractDAO。
  • Module Website执行所有前端工作,例如jsps,mvc控制器...这是一个支持spring框架的maven模块。

我正在尝试使用ehcache factory实现二级缓存。但是我收到此错误:

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。

当我添加logback-classic.jar时出现错误,但是如果我删除它,则会收到另一个错误。

org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套的异常是org.springframework.web.servlet.DispatcherServlet上的org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1287)上的ch / qos / logback / classic / selector / ContextSelector。 org的org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)的com.before90.website.action.application.ControllerServlet.doService(ControllerServlet.java:28)的doDispatch(DispatcherServlet.java:961) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)(位于javax.servlet.http.HttpServlet.service(HttpServlet.java)处的.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) :622)

我不知道为什么会出现错误。它表明存在一个spring框架错误,其中spring没有在模块Core中实现(所有DAO都在其中)。任何建议将不胜感激。谢谢

小智 6

如果您使用的是hibernate-validator,就我而言,我仅添加了以下一个依赖项:(因为javax.xml.bind在Java 9及更高版本中默认情况下在类路径中不可用,请参阅https:// docs .oracle.com / javase / 9 / docs / api / java.xml.bind-summary.html )

验证者还需要一个依赖


Bal*_*ika 0

您不需要删除 logback-classic.jar,相反,根本原因似乎是 org.hibernate.validator.internal.engine.ConfigurationImpl 缺少定义 根据 Google,您需要包含http://mvnrepository.com /artifact/org.hibernate/hibernate-validator 如果它是一个 Maven 项目,那么 pom 依赖项中的以下配置将使您的工作顺利进行

<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
Run Code Online (Sandbox Code Playgroud)