我是靠谱客的博主 怕孤独百褶裙,最近开发中收集的这篇文章主要介绍解决在Gradle/IDEA中无法正常使用readLine的问题原因,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

参考: https://stackoverflow.com/questions/13172137/console-application-with-java-and-gradle

问题

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

原因

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

解决方法

在build.gradle.kts中添加

tasks.named<JavaExec>("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的解决方法的文章就介绍到这了,更多相关idea无法正常使用readLine内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是怕孤独百褶裙为你收集整理的解决在Gradle/IDEA中无法正常使用readLine的问题原因的全部内容,希望文章能够帮你解决解决在Gradle/IDEA中无法正常使用readLine的问题原因所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(133)

评论列表共有 0 条评论

立即
投稿
返回
顶部