java - 带有 Java 和 gradle 的控制台应用程序

标签 java console-application gradle

我正在使用 Java 和 gradle 编写控制台应用程序。我正在使用 application plugin并在 build.gradle 中正确配置必填字段。

在我的主类中,我将 BufferedReaderSystem.in 链接。这是问题所在:当我在项目目录中运行 gradle run 时,阅读器不会等待我的控制台输入。 BufferedReader#readLine 在第一次调用时返回 null。这种行为对于我正在做的事情是不可取的。

解决办法是什么?是否有用于 gradle 的单独控制台应用程序插件,或者我是否需要以某种方式调整 application 插件以满足我的需求?

最佳答案

默认情况下,您的 Gradle 构建的 system.in 不与 run (JavaExec) 的 system.in 连接任务。您可以执行以下操作:

build.gradle(Groovy 语法):

run {
    standardInput = System.in
}

build.gradle.kts(Kotlin DSL 语法):

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

关于java - 带有 Java 和 gradle 的控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13172137/

相关文章:

c# - 在控制台应用程序 c# 中使用 out 参数

android - 在 OSX : Task 'assembleDebug' not found in root project 上的命令行上构建 Android 项目

java - 速度模板 : how do I put the result of#springMessage() into a velocity variable

Java lambda 表达式和内存分配

java - 复杂类型的通用数组

android - Gradle 嵌套、多项目、共享库环境设置

android - Jacoco gradle 'exclude'无法在Kotlin的Android项目中使用

java - 使用带有 java 的 Selenium WebDriver 断言 WebElement 不存在

c# - LINQ 打印出语法而不是结果

c# - 使用 Crystal Reports for .net 时出错