java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider
hibernate, java, maven
Solution
Hibernate Validator 5x is not compatible with validation-api 1.0.x
JPA 2.0 : Exception to use javax.validation.* package in JPA 2.0
Problem
I write small hibernate application and get following 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.<init>(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.<clinit>(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 ... ``` I don't understand the reason of this mistake. code: ``` Configuration configuration = new Configuration(); configuration.configure(); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings( configuration.getProperties()).build(); return configuration.buildSessionFactory(serviceRegistry); // exception thrown here ``` my pom.xml: ``` ... <dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.5.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.1.Final</version> </dependency> <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.4.Final</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>4.3.5.Final</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> <scope>provided</scope> </dependency> ... ... ``` I have read related topics but I really don't understand how to fix it - I don't want to roll out to hibernate 4.0 version. How to fix it?