异常:Absent Code attribute in method that is not native or abstract in class

背景

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>

重新运行,问题解决。


  

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值