Lombok的应用程序构建失败原因
Application build failed cause of Lombok
在切换到不同的 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
}
- 毕竟我得到
WhosebugError
.
问题在 运行 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 中得到解决。请将 Lombok 版本更新至 1.18.18,它将解决问题。
在切换到不同的 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
}
- 毕竟我得到
WhosebugError
.
问题在 运行 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 中得到解决。请将 Lombok 版本更新至 1.18.18,它将解决问题。