0

尝试运行测试方法时出现以下错误: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/persistence/PersistenceContextType

正如谷歌所说的依赖问题。我有以下 Maven 依赖项:

<dependency>
    <groupId>javax</groupId>
    <artifactId>javaee-api</artifactId>
    <version>6.0</version>
    <scope>compile</scope>
</dependency>

我在 Maven 中添加了 jpa 的休眠实现:

<dependency>
    <groupId>org.hibernate.javax.persistence</groupId>
    <artifactId>hibernate-jpa-2.0-api</artifactId>
    <version>1.0.1.Final</version>
</dependency>

当我在 IntelliJ IDEA 中运行测试时,我可以看到类路径:

-classpath "...C:\Users\sav\.m2\repository\javax\javaee-api\6.0\javaee-api-6.0.jar;...C:\Users\sav\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.1.Final\hibernate-jpa-2.0-api-1.0.1.Final.jar;..."

所以两个罐子都存在。

请告诉我,我能做些什么来解决它?我无法删除对 j​​avaee-api 的依赖,因为我正在使用 @Inject 注释。

4

1 回答 1

0

我已将 javaee-api 的范围从编译更改为提供,它解决了问题。

谢谢。

于 2013-09-20T06:39:22.743 回答