Капт не обрабатывает микронавт-хищник-процессор

Я пытаюсь использовать новую библиотеку Predator JPA/JDBC от Micronaut. Я хочу использовать интеграцию JDBC, а не JPA.

Однако у меня есть пара проблем, в документации говорится, что они включают:

annotationProcessor 'io.micronaut.data:micronaut-predator-processor:1.0.0.BUILD-SNAPSHOT'

Что я и сделал, но раздел kapt сборки завершается со следующей ошибкой:

Caused by: java.lang.NoSuchMethodError: io.micronaut.core.annotation.AnnotationMetadata.enumValue(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/Optional;

Я использую micronaut 1.1.4 на JVM 12.0.1.

Если я заменю kapt на annotationProcessor, сборка завершится нормально, однако у меня возникнет проблема во время выполнения:

Caused by: java.lang.ClassNotFoundException: io.micronaut.data.exceptions.DataAccessException

Что странно, поскольку я, кажется, могу использовать kapt/annotationProcessor взаимозаменяемо для безопасности микронавтов.


person Gavin    schedule 24.07.2019    source источник


Ответы (2)


Я столкнулся с той же проблемой при запуске тестов из Intellij Idea. Но они прошли при запуске через gradle.

Если вы используете Intellij Idea и столкнулись с этой проблемой, попробуйте следующие варианты в последовательности:

  1. Сделайте недействительным кеш идей и перезапустите
  2. Включить обработку аннотаций
  3. Делегируйте действия сборки/запуска IDE для gradle. Этот параметр был сброшен до идеи, когда я обновил свою версию Intellij.
person Ashwini Mutalik Desai    schedule 29.07.2019
comment
Поскольку это был проект микронавтов, у меня был номер 2, но я не рассматривал 1. Стоит иметь в виду. - person Gavin; 29.07.2019

Я могу заставить это работать для micronaut 1.2.0 RC2, обновив запись спецификации:

dependencyManagement {
    imports {
        mavenBom 'io.micronaut:micronaut-bom:1.2.0.RC2'
    }
}

Кажется, это позволяет корректно работать всей обработке аннотаций и т.д.

person Gavin    schedule 24.07.2019