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

Ubuntu系统Scala REPL输入无法显示问题求助

解决Ubuntu 18.04下Scala解释器输入无回显、光标不动的问题

我之前也碰到过一模一样的情况——升级Ubuntu 18.04并切换到JDK 8后,Scala REPL突然就抽风了:输入的时候光标一动不动,敲的字符也完全看不到,但按下回车后代码居然能正常执行,只显示结果。折腾了好一阵,整理出几个可行的解决办法,你可以挨个试试:

1. 强制指定JLine终端类型

Scala REPL靠JLine处理终端交互,大概率是JLine和Ubuntu 18.04的终端环境不兼容。你可以先临时指定终端类型测试:

  • 启动Scala时加参数:scala -J-Djline.terminal=jline.UnsupportedTerminal
  • 如果这个方法管用,直接把参数加到Scala启动脚本里一劳永逸:
    1. 找到Scala的启动脚本,一般在/usr/bin/scala,如果用sdkman管理就是~/.sdkman/candidates/scala/current/bin/scala
    2. 打开脚本找到exec "$JAVA" $JAVA_OPTS ...那一行,在$JAVA_OPTS后面追加-Djline.terminal=jline.UnsupportedTerminal

2. 切换终端环境

Ubuntu 18.04默认的GNOME终端可能和Scala REPL有冲突,试试换个终端或者修改终端类型:

  • 安装并使用xterm:先执行sudo apt install xterm,打开xterm后再启动Scala,看是否恢复正常
  • 临时修改当前终端的TERM变量:执行export TERM=xterm,然后再启动Scala测试

3. 调整Scala版本

部分Scala版本和JDK 8、Ubuntu 18.04的组合存在兼容性问题,试试降级或升级Scala:

  • 如果用sdkman管理Scala,执行sdk install scala 2.12.15切换到这个稳定版本(亲测这个版本在Ubuntu 18.04+JDK8下表现正常)
  • 也可以尝试最新的兼容JDK8的Scala版本,比如2.13.x系列的低版本

4. 检查JDK 8的配置是否正确

确保你的JDK 8安装和配置没有问题:

  • 执行java -version和javac -version确认输出是1.8.x的版本
  • 检查JAVA_HOME环境变量:执行echo $JAVA_HOME,应该指向JDK 8的安装目录,比如/usr/lib/jvm/java-8-openjdk-amd64
  • 如果JAVA_HOME没设置,在~/.bashrc或~/.profile里添加:
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
    然后执行source ~/.bashrc让配置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:39:36