JavaEE Validation ClassFormatError javax/validation/Validation

Caused by: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/validation/Validation

因为javaee-api-6.0提供的validation只是个空壳,没有真正实现功能,为了用于开发应用的编译,不能用于程序运行。开发的应用程序丢到jboss6容器下是可以运行的,因为jboss6容器默认包含了javaee的validation和hibernate的Validator,但是我们些单元测试的时候是在junit下运行的

一、解决方法

  1、当您的应用程序需要用的javaee-api(比如开发EJB、JPA),就用javee5.0+validation+hibernate-validator

       这种解决方法有点不完美,就是无法使用javaee-api-6.0的特性。

       javaee-api-5.0.jar

       validation-api-1.0.0.GA.jar

       hibernate-validator-4.3.1.Final.jar

       hibernate-validator-annotation-processor-4.3.1.Final.jar

       jboss-logging-3.1.0.CR2.jar

      注意:hibernate4日志中加入对i18n的支持,所以采用的是jboss-logging, 所以采用的是jboss-logging,

      JBoss Logging是唯一一个完整支持i18n(包括参数化)的日志库。

   2、当您的应用程序只需要用bean-validation时就可以直接用 validation+hibernate-validator,把上面的

       javaee-api-5.0去掉即可。

   3、当你需要用到javaee-api-6.0的特性时,请使用一下jboss-javaee-all-6.0-3.0.2.Final.jar,具体maven

       配置如下:

      <dependency>

            <groupId>org.jboss.spec</groupId>

            <artifactId>jboss-javaee-all-6.0</artifactId>

            <version>3.0.2.Final</version>

            <scope>provided</scope>

       </dependency>

       <dependency>

             <groupId>org.hibernate</groupId>

             <artifactId>hibernate-validator</artifactId>

             <version>4.3.1.Final</version>

       </dependency>

 

       <dependency>

 

             <groupId>org.hibernate</groupId>

 

             <artifactId>hibernate-validator-annotation-processor</artifactId>

 

             <version>4.3.1.Final</version>

 

        </dependency>

 

 

        <dependency>

 

              <groupId>org.jboss.logging</groupId>

 

              <artifactId>jboss-logging</artifactId>

 

              <version>3.1.0.CR2</version>

 

        </dependency>

 

        <-- 当使用了jboss-javaee-all-6.0就不需要validation-api了

 

 

        <dependency>

 

               <groupId>javax.validation</groupId>

 

               <artifactId>validation-api</artifactId>

 

               <version>1.1.0.CR3</version>

 

         </dependency> -->

 

 

 

 

 

 

 

 

 

       

      

       

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值