1. 程式人生 > >Spring MVC 使用Hibernate的校驗框架錯誤:版本不相容

Spring MVC 使用Hibernate的校驗框架錯誤:版本不相容

  context: TestDome
  delegate: false
----------> Parent Classloader:
[email protected]
]
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:680)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:577)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:562)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:248)
    ... 53 more
Caused by: java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.getDeclaredMethods(Unknown Source)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:662)
    ... 56 more
Caused by: java.lang.ClassNotFoundException: javax.validation.ParameterNameProvider
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1352)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    ... 60 more

原因:spring4與hibernate的校驗框架validator4不相容。

解決辦法:將hibernate的校驗框架換成validator6:將原來的jar包替換掉

jar包:validation-api-2.0.1.Final.jar;classmate-1.3.4.jar;hibernate-validator-6.0.13.Final.jar;jboss-logging-3.3.2.Final.jar