背景:
maven项目中使用了 Bean Validation (JSR-303),来对 Bean 进行验证。
文档:http://docs.oracle.com/javaee/6/tutorial/doc/gircz.html
比如:
public class User implements Serializable {
int id;
@NotNull//非空
@Size(min = 2,max = 50)//长度在2~50
String name;
@NotNull//非空
@Min(1)//最小值1
@Max(200)//最大值200
int age;
//....
}
如果为编译通过,直接引入依赖如下:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>
则会报出如题所示错误。
原因:
javaee-api 中仅给出了规范,没有具体的实现。
解决方案:
改为一个实现了JSR-303规范的jar,比如hibernate:
<!--<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0</version>
</dependency>-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.3.1.Final</version>
</dependency>
重新运行,问题解决。