千家信息网

在Gradle/IDEA中无法正常使用readLine怎么办

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"在Gradle/IDEA中无法正常使用readLine怎么办",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"在Gradle/IDEA中无法
千家信息网最后更新 2025年01月19日在Gradle/IDEA中无法正常使用readLine怎么办

本篇内容主要讲解"在Gradle/IDEA中无法正常使用readLine怎么办",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"在Gradle/IDEA中无法正常使用readLine怎么办"吧!

问题

在Gradle构建的控制台程序中,标准输入readLine总是返回null

原因

Gradle的标准输入默认并不与系统标准输入绑定,需手动设置

解决方法

在build.gradle.kts中添加

tasks.named("run") {    standardInput = System.`in`}

如果需要更干净的输出,可以用

gradle console:run -q --console=plain

解决方法(Groovy)

在build.gradle中添加

run {    standardInput = System.in}

补充:在 IDEA 开发环境里使用 jline 无法正常工作的问题处理

现象:在 IDEA 中开发应用,使用 jline 捕获控制台输入时,无法正常运行,主要体现在如下代码在输入回车后无法执行:

ConsoleReader reader = new ConsoleReader();

reader.readLine("> ");

解决的办法:

在使用 jline 之前,执行如下代码即可:

jline.TerminalFactory.registerFlavor(TerminalFactory.Flavor.WINDOWS, jline.UnsupportedTerminal.class);

也可以在程序启动的命令行里增加参数

-Djline.terminal=jline.UnsupportedTerminal

到此,相信大家对"在Gradle/IDEA中无法正常使用readLine怎么办"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0