Websphere 9X не может развернуть файл ear с помощью скрипта jython
Я пишу из-за ошибки, которую я просто не могу обойти.
WASX7017E: Exception received while running file "/root/wsDeploy.py"; exception information: com.ibm.ws.scripting.ScriptingException: WASX7115E: Cannot read input file "/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installableApps/my_ear_file.ear,'[-node DefaultNode01 -cell DefaultCell01 -server server1 -MapWebModToVH [[ "Our War One" first_war.war,WEB-INF/web.xml default_host ]["Our War Two" second_war.war,WEB-INF/web.xml default_host]["Our War Three" third_war.war,WEB-INF/web.xml default_host]]]'"
Теперь этот скрипт имеет следующие переменные и синтаксис:
ParameterStr = "-node DefaultNode01 -cell DefaultCell01 -server server1 -MapWebModToVH [[ \"Our War One\" first_war.war,WEB-INF/web.xml default_host ][\"Our War Two\" second_war.war,WEB-INF/web.xml default_host][\"Our War Three\" third_war.war,WEB-INF/web.xml default_host]]"
EAR_FILE=/path/to/file/my_ear_file.ear
Это часть кода, которая задыхается при выполнении websphere в jython(2.7) (также не работает в 2.1)
elif UpdateExistingorNewApp == "INITIAL" and ConditionForUpdate == 0:
AdminApp.install(EAR_FILE + "," + "'" + "[" + ParameterStr + "]" + "'")
AdminConfig.save()
я пытался
AdminApp.install( 'EAR_FILE' + "," + "'" + "[" + ParameterStr + "]" + "'")
AdminApp.install( "'" + EAR_FILE + "'" +"," + "'" + "[" + ParameterStr + "]" + "'")
AdminApp.install( \' EAR_FILE \' + "," + "'" + "[" + ParameterStr + "]" + "'")
Я даже попытался добавить пару "[ ]" в переменные ParameterStr.
Я посмотрел на следующие документы для руководства:
Я проверил путь к уху, разрешения на ухо и владение ухом.
У меня есть проблема, похожая на потерю? Входной файл есть и доступен для чтения. Я даже запустил скрипт из того же места, что и папка (installableApps) для профиля AppSrv01.
Любая помощь будет высоко оценен.
РЕДАКТИРОВАТЬ:
Так что теперь мы прошли эту часть. Так что я представляю, что мне нужно начать избегать мета-символов. Я выкладываю, как выглядит полностью сконструированный аргумент:
AdminApp.install('/opt/IBM/WebSphere/AppServer/installableApps/my_ear_file.ear','[-node DefaultNode01 -cell DefaultCell01 -server server1 -MapWebModToVH [[ \"Our War One\" first_war.war,WEB-INF/web.xml default_host ][\"Our War Two\" second_war.war,WEB-INF/web.xml default_host][\"Our War Three\" third_war.war,WEB-INF/web.xml default_host]]]')
Наш аргумент немного отличается в настоящее время, но он все еще приемлем для переводчика
AdminApp.install( /opt/IBM/WebSphere/AppServer/installableApps/my_ear_file.ear,'[-node DefaultNode01 -cell DefaultCell01 -server server1 -MapWebModToVH [[ \"Our War One\" first_war.war,WEB-INF/web.xml default_host ][\"Our War Two\" second_war.war,WEB-INF/web.xml default_host][\"Our War Three\" third_war.war,WEB-INF/web.xml default_host]]]')
Так что порождает
java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: WASX7122E: Expected "-" not found.
Поэтому сейчас я пытаюсь увидеть, с какими метасимволами я могу разобраться с помощью проб и ошибок.
Я основываю это на комментариях от kgibm.
1 ответ
Вы объединяете имя файла ear с параметрами, тогда как это два параметра, разделенных запятой. Пытаться:
AdminApp.install(EAR_FILE, "'" + "[" + ParameterStr + "]" + "'")