Java Idea配置问题

cmd 里手动切换:

set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_192
set PATH=%JAVA_HOME%\bin;%PATH%

在Idea的终端查看:

java -version

Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field ‘com.sun.tools.javac.tre

  1. JDK 版本不匹配

    • 你可能使用了 JDK 8,但 javac 仍然是 JDK 21 的版本,导致 com.sun.tools.javac.tree.JCTree$JCImport 结构不匹配。
    • 你可能的 JAVA_HOME 指向了 JDK 8,但 PATH 里的 javac 还是 JDK 21。
  2. Maven 或 Gradle 编译环境混乱

    • 你的 Maven/Gradle 可能使用的是 JDK 21 的工具链,而你的项目要求 JDK 8
    • mvn compile 可能调用了 JDK 21,而不是 JDK 8。
  3. Lombok 版本不兼容

    • 如果你的项目用了 Lombok,但 JDK 版本与 Lombok 不匹配,也可能报这个错误。

Lombok 是什么?

Lombok 是一个 Java 库,用于 简化 Java 代码,通过 自动生成 Getter、Setter、构造函数等,减少样板代码(boilerplate code)。

在 Java 里,很多类需要写大量的 getter/setter 方法、toString()equals()hashCode(),这很繁琐。Lombok 通过注解 自动帮你生成这些方法,让代码更简洁。

Lombok 主要功能

Lombok 通过 注解 自动生成代码,常用的注解有:

1. @Getter@Setter

自动生成 gettersetter 方法:

import lombok.Getter;
import lombok.Setter;

public class User {
    @Getter @Setter
    private String name;

    @Getter @Setter
    private int age;
}

相当于:

public class User {
    private String name;
    private int age;

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}

Lombok 让代码更简洁,不需要手写 getXXX()setXXX()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奶龙牛牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值