System.console() имеет значение null

Сегодня первый день игры с Nashorn. Я пытаюсь прослушать ввод из console.readLine(). К сожалению, он возвращает ноль. Что я делаю неправильно?

var Console = Packages.java.io.Console;
var Level = Packages.java.util.logging.Level;
var Logger = Packages.java.util.logging.Logger;
var System = Packages.java.lang.System;
var Thread = Packages.java.lang.Thread;
function onStart() {
    new Thread(function () {
        var logger = Logger.getLogger("com.TestClass");
        var console = System.console();
        if (console != null){
            logger.info("Exists!");
            while(true) {
                var input = console.readLine();
                logger.warning(input);
            }
        } else {
            logger.warning("Does not exist!");
        }
    }).start();
}

На какой системе вы работаете? Он возвращает null, если к JVM не подключена консоль.

Zabuzard 05.02.2019 16:15

Обратите внимание, что Nashorn устарел, начиная с Java 11. Рассмотрите возможность использования лучших альтернатив (см. JEP 335).

Zabuzard 05.02.2019 16:15

Это расширение для серверного мода. Думаю, мне придется сделать это по-другому. В любом случае спасибо

Vnsax 05.02.2019 22:53

... или вы просто подключаете консоль к своей JVM ^^

Zabuzard 06.02.2019 09:45
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
181
0

Другие вопросы по теме