执行cs install scala安装Scala后因JAVA_HOME路径错误无法运行如何修复
Scala安装后启动报路径不存在故障修复方案
故障根因
当前配置的JAVA_HOME指向浏览器Java插件自带的精简运行时路径,路径中包含的Internet Plug-Ins空格会导致shell脚本解析路径时被截断,同时该路径本身不是完整的JDK开发环境,即使临时绕开空格问题也会存在后续运行兼容问题。
修复步骤
- 第一步:查询系统内合规JDK的真实路径
执行如下命令获取系统已安装的标准JDK路径:
正常输出的路径格式类似/usr/libexec/java_home/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home,不存在空格。如果执行该命令提示找不到JDK,先手动安装标准JDK发行版后再继续操作。 - 第二步:修正全局JAVA_HOME配置
根据当前使用的shell编辑对应配置文件:- 默认zsh环境(macOS 10.15及以上版本默认)编辑
~/.zshrc - bash环境编辑
~/.bash_profile
在配置文件末尾添加如下内容:
这种配置方式会自动读取系统当前默认JDK路径,后续升级JDK不需要手动修改配置。export JAVA_HOME=$(/usr/libexec/java_home) - 默认zsh环境(macOS 10.15及以上版本默认)编辑
- 第三步:让新配置生效
执行对应命令加载配置,zsh环境执行:
bash环境执行:source ~/.zshrcsource ~/.bash_profile - 第四步:校验配置
执行echo $JAVA_HOME确认输出路径为之前查到的无空格标准JDK路径,再执行java -version确认Java环境可正常调用。 - 第五步:验证Scala启动
直接执行scala命令,之前的路径不存在报错会消失,程序可正常启动。
不推荐通过给coursier生成的scala启动脚本加路径引号的方式临时修复,该脚本会在coursier更新版本时被覆盖,且插件自带的精简JRE会导致后续Scala编译、运行出现各类依赖缺失问题。
内容的提问来源于stack exchange,提问作者yarchik
相关产品推荐
相关产品推荐

