java.lang.NoClassDefFoundError:javax / validation / ParameterNameProvider [英] java.lang.NoClassDefFoundError: javax/validation/ParameterNameProvider

查看:340
本文介绍了java.lang.NoClassDefFoundError:javax / validation / ParameterNameProvider的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  org.hibernate.cfg.beanvalidation.IntegrationException:错误激活Bean验证集成
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)
导致:java.lang.NoClassDefFoundError:javax / validation / ParameterNameProvider
...

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



code:

  Configuration configuration = new Configuration(); 
configuration.configure();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()。applySettings(
configuration.getProperties())。build();
return configuration.buildSessionFactory(serviceRegistry); //抛出的异常

我的pom.xml:

  ... 
<依赖关系>
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-core< / artifactId>
< version> 4.3.5.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-validator< / artifactId>
< version> 5.1.1.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate.common< / groupId>
< artifactId> hibernate-commons-annotations< / artifactId>
< version> 4.0.4.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate.javax.persistence< / groupId>
< artifactId> hibernate-jpa-2.0-api< / artifactId>
< version> 1.0.1.Final< / version>
< /依赖关系>
< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-entitymanager< / artifactId>
< version> 4.3.5.Final< / version>
< /依赖关系>
< dependency>
< groupId> javax.validation< / groupId>
< artifactId> validation-api< / artifactId>
< version> 1.0.0.GA< / version>
< scope>提供< / scope>
< /依赖关系>
...
...

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



如何解决它?

$ b $ Hibernate Validator 5x与验证-api 1.0.x不兼容

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


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?

解决方案

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

这篇关于java.lang.NoClassDefFoundError:javax / validation / ParameterNameProvider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆