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

Ubuntu系统Spring Tool Suite 4安装Lombok遇权限及Java命令问题

解决Ubuntu下用SDKMAN管理Java时,sudo执行Lombok安装命令找不到java的问题

我来帮你搞定这个问题!核心原因很简单:SDKMAN是给当前用户配置的Java环境变量,但sudo执行命令时会切换到root用户,root的环境变量里并没有SDKMAN设置的Java路径,所以才会报错sudo: java: command not found。下面给你几个实用的解决办法:

方法1:使用Java的绝对路径执行

先找到你当前用户下SDKMAN管理的Java绝对路径,执行这个命令:

which java

你会得到类似这样的输出:/home/你的用户名/.sdkman/candidates/java/current/bin/java

然后用这个绝对路径替换java,加上sudo运行Lombok:

sudo /home/你的用户名/.sdkman/candidates/java/current/bin/java -jar lombok.jar

记得把路径里的「你的用户名」换成你实际的用户名哦。

方法2:让sudo继承当前用户的环境变量

sudo有个-E参数,可以保留当前用户的环境变量,这样就能直接找到SDKMAN配置的Java了,命令很简单:

sudo -E java -jar lombok.jar

这种方式最快捷,大部分场景下都能用,不需要折腾路径。

方法3:给root用户配置SDKMAN环境(适合频繁使用的场景)

如果经常需要用sudo执行Java相关命令,可以把当前用户的SDKMAN配置同步到root用户:

  1. 切换到root用户:sudo su
  2. 编辑root的bash配置文件:nano ~/.bashrc
  3. 把你当前用户~/.bashrc里的SDKMAN初始化内容复制进去,一般是这段:
    export SDKMAN_DIR="$HOME/.sdkman"
    [[ -s "$SDKMAN_DIR/bin/sdkman-init.sh" ]] && source "$SDKMAN_DIR/bin/sdkman-init.sh"
    
  4. 保存退出后,执行source ~/.bashrc让配置生效
  5. 退出root用户,之后再用sudo java就能正常执行了

安装Lombok的后续步骤

不管用哪种方法启动Lombok安装程序后,在弹出的界面里:

  • 点击「Specify Location」,找到/opt目录下的STS4安装路径,选中STS4的启动器(比如SpringToolSuite4)
  • 点击「Install/Update」完成安装
  • 重启STS4,就可以正常使用Lombok的注解了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 18:30:58