Console application with Java and gradle

missingfaktor picture missingfaktor · Nov 1, 2012 · Viewed 12.8k times · Source

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?

Answer

Rene Groeschke picture Rene Groeschke · Nov 1, 2012

Per default the system.in of your gradle build is not wired up with the system.in of the run (JavaExec) task. You can do the following:

run{
    standardInput = System.in
}