Pop!_OS系统下VSCode 1.61配置Kotlin与Java环境报错如何解决?
问题原因梳理
- 环境变量加载范围问题:VSCode 的 Code Runner 插件默认调用非交互式 shell 执行代码,不会加载
~/.bashrc里的配置,你在终端能正常执行java、kotlinc是因为终端运行的是交互式 bash,会读取~/.bashrc,但插件运行时找不到 JDK 路径,才会触发 kotlinc 脚本内的java: command not found报错。 - Kotlin 测试代码存在语法错误:主函数定义重复写了
fun关键字,会触发编译报错。 - 环境变量配置路径可能有误:你配置的
KOTLIN_HOME路径前缀是/home/usr/,但报错里的用户目录是/home/mantress31/,路径不匹配也会导致命令加载异常。
修复步骤
- 修正环境变量配置
将 Java 和 Kotlin 的环境变量写入全局登录生效的~/.profile文件(所有 shell 类型都会加载该配置),参考配置(请替换为你本地的实际路径):
# 配置JDK路径,可通过 update-alternatives --list java 查看本机JDK安装路径 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 替换为你自己的用户目录下的kotlin路径 export KOTLIN_HOME=/home/mantress31/.sdkman/candidates/kotlin/current export PATH=$PATH:$JAVA_HOME/bin:$KOTLIN_HOME/bin
修改完成后执行 source ~/.profile 生效,然后完全重启 VSCode 确保插件读取到新的环境变量。
- 修正测试代码语法错误
将helloworld.kt的内容修改为:
fun main(args: Array<String>) { println("Hello Kotlin") }
- 可选兜底方案
如果修改后依然报错,可以直接在 Code Runner 插件配置中指定命令的绝对路径:打开 VSCode 设置,搜索Code-runner: Executor Map,编辑配置文件中 kotlin 对应的执行规则,参考:
"kotlin": "cd $dir && /home/mantress31/.sdkman/candidates/kotlin/current/bin/kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && /usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar $fileNameWithoutExt.jar"
内容的提问来源于stack exchange,提问作者Manuel Jiménez
相关产品推荐
相关产品推荐

