java.lang.NoClassDefFoundError:javax / validation / ParameterNameProvider

我编写小型hibernate应用程序并获取以下stacktrace:

org.hibernate.cfg.beanvalidation.IntegrationException: Error activating Bean Validation integration at org.hibernate.cfg.beanvalidation.BeanValidationIntegrator.integrate(BeanValidationIntegrator.java:154) at org.hibernate.internal.SessionFactoryImpl.(SessionFactoryImpl.java:312) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1857) at com.beingjavaguys.hbn.HibernateUtil.buildSessionFactory(HibernateUtil.java:18) at com.beingjavaguys.hbn.HibernateUtil.(HibernateUtil.java:10) at crud.UserDao.addUser(UserDao.java:12) at com.beingjavaguys.hbn.App.main(App.java:53) Caused by: java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider ... 

我不明白这个错误的原因。

码:

  Configuration configuration = new Configuration(); configuration.configure(); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings( configuration.getProperties()).build(); return configuration.buildSessionFactory(serviceRegistry); // exception thrown here 

我的pom.xml:

 ...   org.hibernate hibernate-core 4.3.5.Final   org.hibernate hibernate-validator 5.1.1.Final   org.hibernate.common hibernate-commons-annotations 4.0.4.Final   org.hibernate.javax.persistence hibernate-jpa-2.0-api 1.0.1.Final   org.hibernate hibernate-entitymanager 4.3.5.Final   javax.validation validation-api 1.0.0.GA provided  ... ... 

我已阅读相关主题但我真的不明白如何解决它 – 我不想推出到hibernate 4.0版本。

怎么解决?

Hibernate Validator 5x与validation-api 1.0.x不兼容

JPA 2.0:在JPA 2.0中使用javax.validation。*包的例外

只需删除javax.validation依赖项

  javax.validation validation-api 1.0.0.GA  

这解决了我的这个特殊问题。