java Lombok getter setter无法找到符号

ddarikpa  于 2023-02-20  发布在  Java
关注(0)|答案(4)|浏览(183)

我正在使用Intellij并尝试将lombok应用到项目中。但是它一直说“找不到符号”。下面是我的代码的一个快速示例。
类别

import lombok.*;

@Data
public class Product {

    private String name;
    private Integer price;

    public Product(String name, Integer price){
        this.name = name;
        this.price = price;
    }
}

主要

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionMain {
    public static void main(String[] args) {

        Collection<Product> products = new ArrayList<>();
        Product door = new Product("DOOR",90);
        Product bed = new Product("BED",60);
        Product ipad = new Product("iPad",15);

        products.add(door);
        products.add(bed);
        products.add(ipad);

        final Iterator<Product> productIterator = products.iterator();

        while(productIterator.hasNext()){
            Product product = productIterator.next();
            System.out.println(product.getPrice());
        }

    }
}

错误显示
浏览次数:23次错误:找不到符号System.out.println(product.getPrice());^ symbol:方法getPrice()位置:Product型变量积
我已启用注解处理器x1c 0d1x
插件

rqqzpn5f

rqqzpn5f1#

我没有把

annotationProcessor 'org.projectlombok:lombok:1.18.12'

在我楼里Gradle
问题解决了。

gcuhipw9

gcuhipw92#

出于某种原因,Maven存储库仅为您提供Gradle构建器的“compileOnly”依赖项。但是,如果您查看Lombok文档,您会发现您还需要使用“annotationProcessor”。
https://projectlombok.org/setup/gradle

ubbxdtey

ubbxdtey3#

我也遇到过同样的问题,但我的解决方案有点不同。
我的项目是在java 8上的,但是IDEA SDK被设置为java 17。一旦我把它改成java 8,问题就解决了。
1.转至文件〉项目结构〉项目
1.更改SDK

1.应用〉确定
1.文件〉失效并重新启动

koaltpgm

koaltpgm4#

我在尝试构建我的项目(gradle)时遇到了同样的错误。我在我的项目上使用了jdk-15,但随后在我的计算机上安装了jdk-17(即使没有更改项目中的sdk),问题发生了。为了解决这个问题,我从计算机上卸载了jdk-17(删除项目中的sdk是不够的)

相关问题