0

テストメソッドを実行しようとすると、次のエラーが発生します: java.lang.ClassFormatError: Absent Code attribute in method that is not native or abstract in class file javax/persistence/PersistenceContextType

Googleが依存関係の問題を言っているように。次のmaven依存関係があります:

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

jpa の hibernate 実装を maven に追加しました。

<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;..."

したがって、両方の瓶が存在します。

教えてください、解決するにはどうすればよいですか?@Inject アノテーションを使用しているため、javaee-api への依存関係を削除できません。

4

1 に答える 1

0

javaee-api のスコープをコンパイルから提供に変更し、問題を解決しました。

ありがとう。

于 2013-09-20T06:39:22.743 に答える