spring mvc中使用jsr303 校验器的错误(validator)

Life is short , play more!
本文来自lihao's Blog,转载请注明。

使用javax validator 的各种错误:

1. java.lang.ClassNotFoundException:
javax.validation.ParameterNameProvider

2. Invocation of init method failed; nested exception is
java.lang.NoClassDefFoundError:
javax/validation/ParameterNameProvider

1. 下载hibernate validator的版本 (实现的标准为 JSR-303):

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>4.3.1.Final</version>
</dependency> 
<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.0.0.GA</version>
</dependency>

2. 如果你不想把 hibernate validator 5 换成上面的 hibernate validator 4 则另外可以把javax  validator 的版本变更为 1.1.0.Final  (因为 1.0.0 的 javax validator  和  hibernate  validator 5  不兼容 ) 而  javax又需要用到  hibernate  validator ( hibernate 5 实现的标准为 JSR-349):

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
</dependency>

发表评论

电子邮件地址不会被公开。 必填项已用*标注