NameError: True при использовании логических значений в jython для утилиты wsadmin cli

При написании jython-скрипта для wsadmin представляется невозможным использовать логические значения, как показывает этот простой пример.

app-stop.py:

isTrue = True
print isTrue

Вызов:

wsadmin.bat -lang jython -username user -password pw -f D:\app-stop.py

Результат:

D: \ IBM \ WebSphere \ AppServer WASX7209I: Подключен к процессу "dmgr" на узле OurCellManager с использованием соединителя SOAP; Тип процесса: DeploymentManager WASX7017E: Исключительная ситуация при выполнении файла "D:\app-stop.py"; информация об исключении: com.ibm.bsf.BSFException: исключение из Jython: обратная связь (самая последняя из последних): файл "", строка 1, в? NameError: True

Неважно, пишу ли я True (который должен быть действительным Python) или true, Единственный способ это работает isTrue = 1, Но почему нельзя использовать допустимый код Python в jython на wsadmin?

1 ответ

Решение

jython в 8.5.5 и более ранних версиях - это jython 2.1, который реализует язык, как это было в python 2.1. Эти константы не были в Python до 2.3.

Jython был обновлен в 9.0. Этот документ описывает его локальное обновление в 8.5.5, но это удивительно:

https://www.ibm.com/developerworks/websphere/library/techarticles/1207_vansickel/1207_vansickel.html

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