Библиотеки для создания интерактивной оболочки для приложения Java - программирование

Библиотеки для создания интерактивной оболочки для приложения Java

Я ищу библиотеки для Java, которые позволят мне создать интерактивную оболочку. Я сделал несколько поисков и не нашел много. Большинство из того, что я нашел, это библиотеки для добавления синтаксического анализа аргументов в мое приложение, которое не очень помогает мне.

Лучшим результатом, который я нашел, является библиотека под названием Cliche, которая делает именно то, что мне нужно. Проблема в том, что она слишком проста. Я ищу что-то, у которого больше настроек.

Кто-нибудь сталкивается с чем-то более продвинутым?

4b9b3361

Ответ 1

Возможные варианты:

  • javacurses/JCurses - консольный инструментарий для окон, похожий на дизайн прокладок UNIX.
  • swing-console может быть уместным, если вы хотите видеть/выводить консольный стиль в окне Swing GUI. вы можете использовать это для создания интерактивной оболочки.
  • JLine - библиотека для ввода в консоль, аналогичная GNU readline
  • Несколько языков JVM предлагают интерактивную среду REPL, которая может использоваться как интерактивная оболочка, например. Clojure

Ответ 2

В соответствии с этот вопрос JLine может быть хорошей попыткой.

Особенности JLine

  • История команд. Линии, которые были ранее введены, могут быть вызваны и отредактированы и могут сохраняться, чтобы они были доступны. через сеансы вашей программы.
  • Редактирование строк - JLine позволяет полностью редактировать текущую командную строку и пытается имитировать как можно большую часть поведения GNU Readline как возможно, включая поддержку как emacs, так и vi-ключей.
  • Завершение - JLine предоставляет подключаемый механизм для выполнения выполнения вкладки командной строки (конечно, завершение может быть связано с любой желаемый ключ).
  • Пользовательские привязки клавиш. Ключи могут быть произвольно переназначены для выполнения определенного действия, а JLine пытается выполнить любое сопоставление, которое в вашем существующем файле readline.inputrc.
  • Символьная маскировка. Вход может быть получен от пользователя без какой-либо визуальной обратной связи. Это полезно для запроса паролей.
  • 99.99% Java. Огромная часть JLine - это все Java, используя только небольшой бит собственного кода, предоставленный проектом Jansi, на
    поддержка Windows.

Ответ 3

Мы используем Spring shell, и это сработало для нас очень хорошо. Некоторые из его возможностей:

  • Простая, ориентированная на аннотацию, модель программирования для внесения пользовательских Команды

  • Использование Spring функций сканирования классов в зависимости от базы данных стратегия плагина команды и развитие команды

  • Наследование функций оболочки Roo, в первую очередь завершение табуляции, раскраска и script выполнение.

  • Настройка командной строки, баннера, имя файла истории оболочки.