我有一个 mavenized 项目,我在其中使用 JSR 303(Bean 验证)。作为参考实现,我使用 Hibernate-validator。在项目中我指定了依赖项:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>4.1.0.Final</version>
<scope>provided</scope>
</dependency>
使用 4.1.0 版一切正常。但是当我把它改成 4.2.0. 我在这一行得到运行时错误:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
java.lang.ClassFormatError:类文件 javax/persistence/Persistence 中非本机或抽象方法中的缺失代码属性
......//更多堆栈跟踪
java.lang.NoClassDefFoundError:无法初始化类 com.andr.myproject.services.utils.ValidationUtils
问题出在哪里?
UPD:我也使用 Java-ee-5 依赖,而不是 6。
UPD2:此错误发生在 JUnit 测试中