Сегодня первый день игры с 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();
}
Обратите внимание, что Nashorn устарел, начиная с Java 11. Рассмотрите возможность использования лучших альтернатив (см. JEP 335).
Это расширение для серверного мода. Думаю, мне придется сделать это по-другому. В любом случае спасибо
... или вы просто подключаете консоль к своей JVM ^^




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