当前位置: 首页 > 知识库问答 >
问题:

NoSuchMethodError-Intellij和龙目岛

邵绪
2023-03-14

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

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

>

  • 运行所有具有覆盖率测试用例。

    移除龙目镜并在此之后生成吸气剂和定型剂也没有效果。

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

    编辑1:

    Root 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个答案

    竺翰海
    2023-03-14

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

    1:在IntelliJ中启用批注处理(文件设置生成、执行、部署编译器批注处理器)

    2:选择处理器路径并指向lombok-1.18.4.jar,因为我只想为Lombok而不是mapstruct启用它。如果同时启用了这两个功能,则它将在默认位置生成Mapstruct类。

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

    4:在生成选项“重建项目”下

    这会解决的。我花了一段时间才让它在Intellij运行。

     类似资料:
    • 我试着在IntelliJ上使用Lombok和Maven和VRaptor,但它不起作用。 我已经在stackoverflow中阅读了一些信息,但没有解决我的问题,我已经在Intellij中启用了注释处理器,但仍然一无所获。 我也试图从命令行(Windows)编译它,但没有成功。 我还尝试在没有maven的情况下创建另一个项目,添加库,创建一些用于测试的类,它可以完美地工作、编译和运行。 有什么帮助吗

    • Gradle新手。如果这是一个糟糕的问题,我道歉。 我一直在尝试启动一个普通的Java8 Gradle项目。一切都很好,直到我尝试将龙目加入我的项目。 我的Intellij IDE具有龙目所需的所有设置。 Lombok插件已安装并激活 IDE完美地处理了注释。没有显示错误,样板显示在代码结构中。 然而,当我试图使用Intellij构建项目或运行main方法时,编译器抱怨说Lombok应该生成的样板

    • 问题内容: 我正在尝试向使用Lombok的现有Java Maven项目添加常规功能。不幸的是,当我用下面的pom片段启用groovy-maven- eclipse编译器时,我的带有lombok注释的Java文件无法编译。据我所知,Lombok根本不参与Java文件的编译。 我还应该指出,在eclipse中(使用m2e)一切正常。当我尝试执行mvn软件包时,会出现我的问题。 问题答案: @Todd:

    • Lombok@Data annotation将在带注释的类上无声地添加字段的setter和getter。 如何在龙目岛添加基于条件的setter? lombok中有没有这样的支持 我已经在龙目岛文件中搜索了,我没有看到关于我的问题的解释。

    • 我在gradle项目中使用lombok,希望创建一个jar文件,但每次我执行jar任务(无论是在控制台还是eclipse ide中触发)时,我都会发现错误,我的lombok导入在我使用lombok注释的类中找不到。输出示例: 搜索了一段时间后,我发现有一个适用于gradle和lombok的插件,但在使用较新的gradle版本编译时并不真正需要。我的gradle版本是3.4.1和lombok 1.6

    • 我正在Ubuntu上使用IntelliJ IDEA。我将Lombok.jar添加到我的项目中,并为IDEA安装了Lombok插件。我可以访问注释,但和没有生成。如果我尝试访问一个不存在的getter或setter方法,我会得到相同的错误。我会错过什么?