Проблемы с запуском программы Gradle с терминала - PullRequest
0 голосов
/ 08 мая 2020

Когда я запускаю код внутри IntelliJ IDEA, он работает отлично, но если я пытаюсь запустить его с терминала с помощью «gradlew run», он выводит вопрос, но не дает мне возможности что-либо ввести. Он немедленно печатает "Hello null by Gradle" и завершает выполнение. Кто-нибудь знает, почему это так?

public static void main(String[] args) throws IOException {
    System.out.println("What's your name?");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String name = br.readLine();
    System.out.println("Hello " + name + " By Gradle");
    br.close();
}

Я создаю этот проект с задачей "gradle init", я выбрал application, Java, Groovy, JUnit Juppiter.

1 Ответ

0 голосов
/ 08 мая 2020

Два действия могут помочь вам решить эту проблему;

  1. Добавьте задачу ниже в свой build.gradle.
run{
    standardInput = System.in
}
Хотя теперь это позволяет вашей командной строке принимать ввод. Он по-прежнему обеспечивает некоторую двусмысленность в работе, и, следовательно, выполнение приведенной ниже команды может помочь вам получить точный ожидаемый результат.

gradle --console=plain run

Подробное объяснение прекрасно объяснено в console-application-with- java -and-gradle

...