Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';t编译项目:由lombok创建的Getter不会';行不通_Java_Spring Boot_Gradle_Lombok - Fatal编程技术网

Java Can';t编译项目:由lombok创建的Getter不会';行不通

Java Can';t编译项目:由lombok创建的Getter不会';行不通,java,spring-boot,gradle,lombok,Java,Spring Boot,Gradle,Lombok,我有一个gradle的spring boot项目。当我编译它时,它失败了,因为lombok问题 error: cannot find symbol sampleClass.getId(); ^ 我觉得这很奇怪,因为编辑器屏幕上看起来没有问题。 数据类是: 导入lombok.数据; @资料 公共类样本类{ 私有int-id; } 控制器类是: @RestController 公共类MyController{ @RequestMapping(

我有一个gradle的spring boot项目。当我编译它时,它失败了,因为lombok问题

error: cannot find symbol
        sampleClass.getId();
                   ^
我觉得这很奇怪,因为编辑器屏幕上看起来没有问题。 数据类是:

导入lombok.数据;
@资料
公共类样本类{
私有int-id;
}
控制器类是:

@RestController
公共类MyController{
@RequestMapping(value=“/”,method=RequestMethod.GET)
公共字符串getTop()
{
SampleClass SampleClass=新的SampleClass();
sampleClass.getId();
返回“测试”;
}
}
对build.gradle的依赖关系是:

依赖项{
实现“org.springframework.boot:springbootstarterdatajpa”
实现'org.springframework.boot:springbootstartermyleaf'
实现“org.springframework.boot:springbootstarterweb”
仅限开发“org.springframework.boot:springboot开发工具”
编译“org.projectlombok:lombok:1.16.10”
仅限运行时的“mysql:mysql连接器java”
testImplementation('org.springframework.boot:springbootstartertest'){
排除组:“org.junit.vintage”,模块:“junit vintage引擎”
}
}
有人能解释这个问题吗?

谢谢。

您缺少在
注释处理器
配置中定义Lombok依赖项

annotationProcessor 'org.projectlombok:lombok'
由于您使用的是Spring Boot,因此可以从该特定依赖项中删除
版本
,因为它已经由Spring依赖项管理插件定义


有关完整上下文,请查看由创建的相应项目。

annotationProcessor
配置中定义Lombok依赖项缺少

annotationProcessor 'org.projectlombok:lombok'
由于您使用的是Spring Boot,因此可以从该特定依赖项中删除
版本
,因为它已经由Spring依赖项管理插件定义

有关完整上下文,请查看由创建的相应项目

  • 检查是否启用了批注处理:
  • 文件>设置>生成、执行、部署>编译器>注释处理器

  • 检查是否安装了Lombok插件(插件安装后重新启动IDE):
  • 文件>设置>插件

  • 尝试不同的龙目山版本。(目前最新版本为1.18.10)

  • 确保在Gradle项目设置中包含
    annotationProcessor'org.projectlombok:lombok'

  • 从Lombok设置页面:

    repositories {
        mavenCentral()
    }
    
    dependencies {
        compileOnly 'org.projectlombok:lombok:1.18.10'
        annotationProcessor 'org.projectlombok:lombok:1.18.10'
    }
    
  • 检查是否启用了批注处理:
  • 文件>设置>生成、执行、部署>编译器>注释处理器

  • 检查是否安装了Lombok插件(插件安装后重新启动IDE):
  • 文件>设置>插件

  • 尝试不同的龙目山版本。(目前最新版本为1.18.10)

  • 确保在Gradle项目设置中包含
    annotationProcessor'org.projectlombok:lombok'

  • 从Lombok设置页面:

    repositories {
        mavenCentral()
    }
    
    dependencies {
        compileOnly 'org.projectlombok:lombok:1.18.10'
        annotationProcessor 'org.projectlombok:lombok:1.18.10'
    }
    

    您是否正确设置了注释处理器?设置->编译器->注释处理器也许您的ide中也需要lombok插件。在我的例子中,注释处理是启用的。托库斯特的回答对我很有效。谢谢大家!您是否正确设置了注释处理器?设置->编译器->注释处理器也许您的ide中也需要lombok插件。在我的例子中,注释处理是启用的。托库斯特的回答对我很有效。谢谢大家!成功了!这个问题似乎完全解决了。非常感谢你@所以接受@thokuest的回答。此外,您可能希望将构建委托给Gradle,以避免其他工具出现类似情况<代码>构建、执行、部署>构建工具>渐变>使用--Gradle构建和运行它工作了!这个问题似乎完全解决了。非常感谢你@所以接受@thokuest的回答。此外,您可能希望将构建委托给Gradle,以避免其他工具出现类似情况<代码>构建、执行、部署>构建工具>渐变>使用--Gradle构建和运行