【问题标题】:Kapt not processing micronaut-predator-processorKapt 不处理 micronaut-predator-processor
【发布时间】:2019-07-24 11:10:28
【问题描述】:

我正在尝试使用来自 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 安全。

【问题讨论】:

    标签: kotlin micronaut kapt


    【解决方案1】:

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

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

    1. 使创意缓存无效并重新启动
    2. 启用注释处理
    3. 将 IDE 构建/运行操作委托给 gradle。当我升级 Intellij 版本时,此设置已重置为 Idea。

    【讨论】:

    • 因为这是一个 micronaut 项目,我有 2 号,但没有考虑 1。值得牢记。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 2021-06-07
      • 2018-01-17
      相关资源
      最近更新 更多