C:\IBM_Thinclient_DEV>wsadmin.bat -lang jython -host traj-d-was01 -port 8879 -f Auto-deployments/Jython/UpdateApplicationSingleFile.py usergroups.yaml
WASX7209I:使用 SOAP 连接器连接到节点 ******Manager01 上的进程“dmgr”;进程类型为:DeploymentManager
WASX7303I:以下选项将传递到脚本环境,并可作为存储在 argv 变量中的参数使用:“[usergroups.yaml]”
WASX7017E:运行文件“Auto-deployments/Jython/UpdateApplicationSingleFile.py”时收到异常;异常信息:com.ibm.bsf.BSFException:来自 Jython 的异常:
回溯(最里面的最后):
(无代码对象)位于第 0 行
文件“”,第 17 行
AdminApp.update('api-docs', 'file', '[-operation addupdate -contents C:/IBM_Thinclient_DEV/Auto-deployments/ear/swagger-spec/' +filename '-contenturi api-docs.war\yaml\' +filename ']')
^
语法错误:语法无效
#####UpdateApplicationSingleFile.py######
导入操作系统路径
导入系统
文件名=sys.argv[0]
打印“文件名=”+文件名
AdminApp.update('api-docs', '文件', '[-操作 addupdate -contents C:/IBM_Thinclient_DEV/Auto-deployments/ear/swagger-spec/' +文件名 '-contenturi api-docs.war\yaml ' +文件名']')
AdminApp.update('api-docs', '文件', '[-操作 addupdate -contents C:/IBM_Thinclient_DEV/Auto-deployments/ear/swagger-spec/' +文件名 '-contenturi api-docs.war\yaml ' +文件名']')
您需要放置
+
符号来构建连接字符串文字和变量部分的字符串。
所以代替:
AdminApp.update('api-docs', 'file', '[-operation addupdate -contents C:/IBM_Thinclient_DEV/Auto-deployments/ear/swagger-spec/' +filename '-contenturi api-docs.war\yaml' +filename ']')
它应该看起来更像
AdminApp.update('api-docs', 'file', '[-operation addupdate -contents C:/IBM_Thinclient_DEV/Auto-deployments/ear/swagger-spec/' + filename + ' -contenturi api-docs.war\yaml' + filename + ']')
请注意,除了缺少的
+
标志之外,我还在之前添加了一个空格 -contenturi
,因为除非您的“文件名”变量已经包含自己的空格,否则该值将与“-contents ...”参数值一起模糊.链接