'Console application with Java and gradle
I am writing a console application with Java and gradle. I am using the application plugin and have the required fields correctly configured in build.gradle.
In my main class I have BufferedReader linked with System.in. Here's the problem: When I run gradle run in project directory, the reader does not wait for my console input. BufferedReader#readLine instead returns null on the very first call. This behavior is not desirable for what am I doing.
What is the solution? Is there a separate console application plugin for gradle or do I need to tweak application plugin somehow to suit my needs?
Solution 1:[1]
As stated above, add
run {
standardInput = System.in
}
And run:
gradle console:run -q --console=plain
where:
-qruns task in "quiet" mode (to avoid having> Building > :run)--console=plaindrops execution status:<=-> 80% EXECUTING [TIME]
Source: https://docs.gradle.org/current/userguide/gradle_command_line.html
Solution 2:[2]
For build.gradle.kts:
tasks.getByName<JavaExec>("run") {
standardInput = System.`in`
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | iluu |
| Solution 2 | diralik |
