java - Lombok 的应用程序构建失败原因

标签 java gradle lombok intellij-lombok-plugin

在切换到不同的 git 分支后,我在构建使用 Lombok 的项目时遇到了问题。
我通常会收到这两种类型的多个异常:

  • 对于类似
  • 的类

    @Setter(onMethod_ = @Autowired)
    public class ClassA{
    
       private ClassC c;
    
    }
    
    我得到
    java: cannot find symbol
      symbol:   method onMethod_()
      location: @interface lombok.Setter
    
  • 对于类似
  • 的类

    @Builder
    public class ClassB{
    
    }
    
    我得到
    java: cannot find symbol
      symbol:   class ClassBBuilder
      location: class com.example.application.ClassB
    
    在像这样的方法中
    private ClassB.ClassBBuilder getBuilder(Object input) {
        //builder init
    }
    
  • 毕竟我得到 StackOverflowError .

  • 运行gradle:clean后问题解决-> gradle:build .但是在交换分支后又出现了。
    更多信息:
    我正在使用 Intellij Idea 2020.3.3 Ultimate Edition和复选框 "Enable Annotation processing"被检查。
    这是我的 build.gradle 的一些部分:
    import org.springframework.boot.gradle.plugin.SpringBootPlugin
    
    plugins {
        id 'net.ltgt.apt' version '0.19'
        id 'net.ltgt.apt-idea' version '0.19'
        id 'org.springframework.boot' version '2.3.2.RELEASE' apply false
    }
    
    apply plugin: 'java'
    apply plugin: 'idea'
    apply plugin: 'net.ltgt.apt'
    apply plugin: 'net.ltgt.apt-idea'
    apply plugin: 'io.spring.dependency-management'
    
    repositories {
        maven { url = 'https://repo.maven.apache.org/maven2' }
    }
    
    dependencyManagement {
        imports {
            mavenBom SpringBootPlugin.BOM_COORDINATES
        }
    }
    
    dependencies {
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
    //other dependencies
    }
    
    有谁知道什么可能导致这个问题?

    最佳答案

    此问题已在较新版本的 Lombok 中解决。请将 Lombok 版本更新到 1.18.18,它将解决该问题。

    关于java - Lombok 的应用程序构建失败原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66817685/

    相关文章:

    java - Spring、Hibernate : Retrieve Objects based upon date, 如果未找到,则为最近的日期

    java - 使用 Lombok Builder 注入(inject)构造函数依赖项

    java - 无法将 Lombok 与 Java 11 一起使用

    java - 如何使用Java包?

    java - 如何在 struts2 应用程序中从 AJAX 调用 url 调用 servlet?

    maven - Gradle 只包含 "build"命令?

    java - 如何从 Android Studio 中的一个库依赖库中引用方法?

    eclipse - Ubuntu : install lombok in Eclipse IDE show error "can' t write directory"even using sudo

    java - 将 3DES 存储在字符串中而不是 CipherOutputStream

    maven - 带有 Maven 子模块的 gradle