解决在Gradle/IDEA中无法正常使用readLine的问题原因

 更新时间:2021年12月31日 14:43:19   作者:Winterreisender  
这篇文章主要介绍了在Gradle/IDEA中无法正常使用readLine的解决方法,原因是由于Gradle的标准输入默认并不与系统标准输入绑定,需手动设置,需要的朋友可以参考下

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java利用AlphaComposite类合并图像

    Java利用AlphaComposite类合并图像

    这篇文章主要介绍了Java利用AlphaComposite类合并图像,帮助大家更好的利用Java处理图像,感兴趣的朋友可以了解下
    2020-10-10
  • Spring Security+JWT实现认证与授权的实现

    Spring Security+JWT实现认证与授权的实现

    本文主要介绍了Spring Security+JWT实现认证与授权的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • springboot Actuator的指标监控可视化功能详解

    springboot Actuator的指标监控可视化功能详解

    SpringBoot Actuator是springboot为简化我们对微服务项目的监控功能抽取出来的模块,使得我们每个微服务快速引用即可获得生产界别的应用监控、审计等功能。这篇文章主要介绍了springboot Actuator的指标监控可视化,需要的朋友可以参考下
    2021-08-08
  • 浅析Java中JSONObject和JSONArray使用

    浅析Java中JSONObject和JSONArray使用

    这篇文章主要介绍了Java中JSONObject和JSONArray使用的相关资料,需要的朋友可以参考下
    2016-06-06
  • Java 关于eclipse导入项目发生的问题及解决方法(推荐)

    Java 关于eclipse导入项目发生的问题及解决方法(推荐)

    下面小编就为大家分享一篇Java 关于eclipse导入项目发生的问题及解决方法(推荐),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Spring Boot详细打印启动时异常堆栈信息详析

    Spring Boot详细打印启动时异常堆栈信息详析

    这篇文章主要给大家介绍了关于Spring Boot详细打印启动时异常堆栈信息的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring Boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • Java实现优先队列式广度优先搜索算法的示例代码

    Java实现优先队列式广度优先搜索算法的示例代码

    这篇文章主要为大家详细介绍了Java如何实现优先队列式广度优先搜索算法,文中通过一个示例带大家具体了解了实现的方法,需要的可以参考一下
    2022-08-08
  • Java Swing组件BoxLayout布局用法示例

    Java Swing组件BoxLayout布局用法示例

    这篇文章主要介绍了Java Swing组件BoxLayout布局用法,结合实例形式分析了Swing使用BoxLayout容器进行布局的相关方法与操作技巧,需要的朋友可以参考下
    2017-11-11
  • springboot整合redisson实现延时队列(附仓库地址)

    springboot整合redisson实现延时队列(附仓库地址)

    延时队列用于管理需要定时执行的任务,对于大数据量和高实时性需求,使用延时队列比定时扫库更高效,Redisson提供一种高效的延时队列实现方式,本文就来详细的介绍一下,感兴趣都可以了解学习
    2024-10-10
  • java图形界面AWT编写计算器

    java图形界面AWT编写计算器

    这篇文章主要为大家详细介绍了基于java语言下图形界面AWT编写计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12

最新评论