在Gradle/IDEA中无法正常使用readln/readLine标准输入的解决方法
摘译自: https://stackoverflow.com/questions/13172137/console-application-with-java-and-gradle
问题
在Gradle构建的控制台程序中,标准输入readLine总是返回null
原因
Gradle的标准输入默认并不与系统标准输入绑定,需手动设置
解决方法
在build.gradle.kts中添加
tasks.named("run") {
standardInput = System.`in`
}
如果需要更干净的输出,可以用
gradle console:run -q --console=plain
Groovy DSL语言构建脚本的解决方法
虽然个人只关心Kotlin语言,但在一些Android默认工程中默认构建脚本是Groovy DSL,原贴中也有Groovy构建脚本的解决方法:
在build.gradle中添加
run {
standardInput = System.in
}
附
在使用上述方法后,IntelliJ IDEA的终端仍不能处理输入,可直接运行.kt文件(右键)解决