You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JShell中使用Lombok注解?实操遇setName方法报错求助

在JShell中使用Lombok注解的解决方案

问题出在JShell默认不会自动触发Lombok的注解处理器——Lombok需要在编译阶段通过注解处理器生成setName这类方法,仅通过--class-path引入lombok.jar只能让你导入注解,但不会触发代码生成。

解决步骤如下:

1. 正确启动JShell

启动时同时指定--class-path和--processor-path参数,两者都指向你的lombok.jar文件:

jshell --class-path lombok.jar --processor-path lombok.jar

如果lombok.jar不在当前目录,替换为完整文件路径即可。

2. 重新定义类并测试

进入JShell后,重新执行你的操作:

jshell> import lombok.*
jshell> @Data class Person { String name; String address; }
|  created class Person
jshell> var p = new Person()
p ==> Person(name=null, address=null)
jshell> p.setName("Hi")
$3 ==> Person(name=Hi, address=null)

此时setName方法就能正常调用了。

备选方案:在JShell内部修改环境

如果已经进入JShell会话,可以用/env命令重新配置环境:

jshell> /env --class-path lombok.jar --processor-path lombok.jar
|  Setting new options and restoring state.

之后重新定义Person类即可生效。

内容的提问来源于stack exchange,提问作者andreoss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:11:51