Есть ли альтернатива BeanShell? Что-то вроде javascript или отличной консоли для Java? - PullRequest
5 голосов
/ 04 июня 2011

Мне было интересно, есть ли какая-нибудь оболочка, которая просто прослушивала пользовательский ввод (с строковым буфером) и запускалась внутри из метода main, включая jdk на classpath.Чтобы это выглядело как консоль JavaScript в браузерах или отличная консоль.Это было бы удобно для тестирования фрагментов кода.

Можно просто записать это в оболочку и нажать return:

Map<String, String> env = System.getenv();
for (String envName : env.keySet()) {
    System.out.format("%s=%s%n", envName, env.get(envName));
}

Это то, что может сделать bsh.Interpreter.Но я нахожу это очень сложным в использовании.Я не могу переместиться назад / влево с курсором на строке оболочки ... ^ [[D ^ [[D ^ [[D .... Я могу удалить только последние символы.Не уверен, что это зависит от ОС (я на Linux), но это очень неудобно ...

Я имею в виду что-то на языке Java, а не Jruby, Jython или Groovy

Ответы [ 3 ]

1 голос
/ 29 октября 2011

Вы можете попробовать использовать графический рабочий стол Beanshell, который ведет себя как оболочка.

Начните с :

java bsh.Console   // runs the graphical desktop
1 голос
/ 04 июня 2011

Java текстовая консоль очень проста с буферизацией строки.Это особенность Java.Вы можете изменить ввод с помощью JNI, однако проще создать графический интерфейс, в котором у вас есть полный контроль над поведением ввода.

0 голосов
/ 29 октября 2011

Запуск bsh.Interpreter под rlwrap - http://utopia.knoware.nl/~hlub/rlwrap/

rlwrap - отличная программа, которая добавляет элементы управления readline (возврат истории, редактирование строк и т. Д.) В любую программу командной строки.

...