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