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

WSL2环境下IDEA运行Java Scanner代码无法获取输入的问题求助

解决WSL2环境下IDEA运行Java Scanner代码报NoSuchElementException的问题

问题复现

在WSL2环境的IDEA中运行包含Scanner.nextLine()的Java代码时,程序未等待输入直接抛出java.util.NoSuchElementException: No line found,但打包为fat jar在WSL终端运行、Windows环境IDEA运行均正常。

核心原因

WSL2环境下,IDEA默认的运行配置未为程序分配交互式终端,导致System.in输入流无法正常读取用户输入。

解决思路

  • 修改运行配置启用终端交互
    打开Run/Debug Configurations,找到对应的运行配置项,勾选Run in terminal选项(部分旧版IDEA为Emulate terminal in output console),保存后重新运行程序,此时会唤起WSL的终端窗口等待输入。

  • 检查IDEA的WSL终端配置
    进入Settings -> Tools -> Terminal,确认Shell path设置为WSL的默认shell,比如wsl.exe或指定发行版路径wsl.exe -d Ubuntu,确保IDEA能正确调用WSL的交互式终端。

  • 升级IDEA至最新稳定版
    部分早期版本的IDEA对WSL2的终端集成存在兼容性bug,升级到最新版可修复此类输入流异常问题。

  • 临时替代方案
    如果上述方法无效,可手动在IDEA的Terminal面板切换到WSL环境,进入编译后的class文件目录,执行java ScannerTest命令直接运行,此时能正常读取终端输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 09:09:23