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
这解决了我的这个特殊问题。