我写信是因为我似乎无法解决的一个错误。
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
这是在 jython(2.7) 中由 websphere 执行时阻塞的代码部分(在 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 变量中添加“[]”对。
我查看了以下文档以获取指导:
我已经验证了耳朵的路径,耳朵的权限,耳朵的所有权。
我是否遇到类似于 globbing 的问题?输入文件在那里,并且是世界可读的。我什至从与 AppSrv01 配置文件的 (installableApps) 文件夹相同的位置运行脚本。
任何帮助将不胜感激。
编辑:
所以我们现在已经过了这部分。所以我想我需要开始转义任何元字符。我发布了一个完全构造的参数的样子:
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 的评论回复。