Kapt 不处理 micronaut-predator-processor

Kapt not processing micronaut-predator-processor

我正在尝试使用 Micronaut 的新 Predator JPA/JDBC 库。 我希望使用 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;

我在 JVM 12.0.1 上使用 micronaut 1.1.4

如果我将 kapt 替换为 annotationProcessor,构建可以正常完成,但是我遇到运行时问题:

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

这很奇怪,因为我似乎可以使用 kapt/annotationProcessor 可互换的 micronaut 安全性。

我可以通过更新 BOM 条目使它适用于 micronaut 1.2.0 RC2:

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

这似乎允许所有注释处理等正常工作。

我在从 Intellij Idea 运行ning 测试时遇到了同样的问题。但是他们在 运行 通过 gradle.

时通过了

如果您使用的是 Intellij Idea 并遇到此问题,请按顺序尝试以下选项:

  1. 使 Idea 缓存无效并重新启动
  2. 启用注释处理
  3. 将 IDE build/run 操作委派给 gradle。当我升级我的 Intellij 版本时,此设置已重置为 Idea。