gpt4 book ai didi

gradle - NoSuchMethodError - Intellij 和 lombok

转载 作者:行者123 更新时间:2023-12-02 07:39:07 25 4
gpt4 key购买 nike

我在 IntelliJ 中遇到一个奇怪的问题。我在 gradle 4 多模块项目中使用 Lombok (1.18.2)、IntelliJ(2018.2.2) 和 JUnit 5。

我花了几个小时来复制这个。

  1. 运行所有测试用例并进行覆盖。

  2. 随后会出现一个弹出窗口

enter image description here

  • 如果我按“确定”并重新运行单元测试用例。对于 getter 和 setter,它将开始失败,并显示 java.lang.NoSuchMethodError

  • 在此之后删除 Lombok 并生成 getter 和 setter 也没有效果。

  • 尝试了一切方法来解决这个问题(启用注释处理器、Lombok 插件、干净的构建),但没有成功。

    编辑1:

    根 build.gradle:

    implementation 'org.projectlombok:lombok:1.18.2'
    testImplementation('org.junit.jupiter:junit-jupiter-api:5.3.1')
    testImplementation('org.junit.jupiter:junit-jupiter-params:5.3.1')
    testRuntime('org.junit.jupiter:junit-jupiter-engine:5.3.1')
    testImplementation("org.junit.platform:junit-platform-launcher:1.3.1")
    testImplementation("org.junit.vintage:junit-vintage-engine:5.3.1")
    testImplementation "org.mockito:mockito-core:2.+"
    testImplementation('org.mockito:mockito-junit-jupiter:2.22.0')

    子项目build.gradle

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    最佳答案

    我通过进行以下更改解决了此问题:

    1. 在 Intellij 中启用注释处理。(文件 | 设置 | 构建、执行、部署 | 编译器 | 注释处理器)

    2. 选择处理器路径并指向 lombok-1.18.4.jar,因为我只想为 Lombok 而不是 Mapstruct 启用它。如果两者均启用,则会在默认位置生成 Mapstruct 类。

    3. 在文件“无效缓存并重新启动”下

    4. 在构建选项“重建项目”下

    这样就解决了。我花了一段时间才让它在 Intellij 中工作。

    关于gradle - NoSuchMethodError - Intellij 和 lombok,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53724989/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com