Отсутствует атрибут кода в методе, который не является собственным или абстрактным в файле класса javax / ejb / EJBTransactionRolledbackException Ошибка при тестировании метода - PullRequest
0 голосов
/ 09 марта 2019

Я пытался протестировать класс EJB с JUnit, но я выдал эту ошибку:

java.lang.ClassFormatError: отсутствует атрибут кода в методе, который не является собственным или абстрактным в файле класса javax / ejb / EJBTransactionRolledbackException

Я добавил следующие зависимости:

    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.openejb</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0-6</version>
        <scope>test</scope>
    </dependency>

что мне сделать, чтобы устранить эту ошибку?

1 Ответ

0 голосов
/ 11 марта 2019

К сожалению, это известная проблема с javax: javaee-api: 6.0 артефакт.По причинам, связанным с лицензированием, Oracle решил развернуть это в центральном репозитории maven за вычетом любого байт-кода реализации.Следовательно, вы можете компилировать его, но не выполнять код, который зависит от него.

У вас уже есть артефакт org.apache.openejb:javaee-api:6.0-6 в вашей помпе, и вы можете полностью заменить вышеприведенный на этот в provided scope.

Существует некоторое обсуждение по этому вопросу на УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ С АПИСОМ JAVA EE 6 В MAVEN-Хранилище И РЕШЕНИЕ .

...