Jython 2.5.3 в Unix: интерактивная оболочка с завершением команды

Потратив 4 дня на поиск рабочего решения, думаю, мне нужно спросить. Пока я успешно работаю с jython 2.5.2 или 2.5.3, с модификатором thinClient.sh, который загружает то, что мне нужно. Он успешно подключается к DeploymentManager с помощью соединителя IPC или SOAP. Однако в нем отсутствует модуль readline:

wsadmin>import readline
WASX7015E: Exception running command: "import readline"; exception information:
 com.ibm.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr2/produits/websphere7/AppServer/thinClient/lib/jython/Lib/readline.py", line 20, in <module>
    raise ImportError("Cannot access JLineConsole")
ImportError: Cannot access JLineConsole

Цель состоит в том, чтобы сделать его интерактивным, с цветными подсказками и мягкими. Я пытался до сих пор безуспешно:

  • org.python.util.JLineConsole / org.python.util.ReadlineConsole (отсутствует модуль readline)
  • Readline-1.7 (ничего не делает)
  • java-readline / libreadline-java-0.8.0 (отсутствует модуль readline)
  • JLine (не загружает банку)
  • pyreadline (не интегрируется в jython)

Так:

  • возможно ли с jython 2.5.3 под IBM AIX 64 с thinClient (jython-installer-2.5.3.jar) иметь настоящую интерактивную оболочку с bash-подобным завершением и возвратом команд с использованием клавиш со стрелками, без необходимости сборки / компиляции что-то?
  • если да, пожалуйста, кто-нибудь опишите рабочее решение:

    1. как называется решение?
    2. что в твоих wsadmin.properties?
    3. какие библиотеки загружать в LIBPATH?
    4. какой класс загрузить в CLASSPATH?
    5. какую командную строку для вызова с Java?

На этот часто задаваемый вопрос в Интернете есть так много "решений" или "предложений", но нигде я не нашел хорошо описанного или работающего решения. Слишком много информации, разбросанной вокруг, просто становится беспорядком:(спасибо за любую помощь!

1 ответ

Хорошо, я нашел обходной путь, на который было так легко ответить самому себе:

rlwrap -H $ THIN_CLIENT_HOME / logs / rlwrap.history.log -f $ THIN_CLIENT_HOME / etc / rlwrap.jython.words.txt -r -pBlue -z $ THIN_CLIENT_HOME / etc / rlwrap.prompt.pl $ CMDLINE

org.python.util. * и com.ibm.ws.scripting.WasxShell взаимно несовместимы

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