You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法在AdminApp.update()中使用字符串变量,Jython脚本语法错误求助

问题排查与解决

错误根源

你遇到的SyntaxError是因为字符串拼接语法错误,同时存在路径分隔符和参数格式问题:

  • 拼接filename变量时,变量前后未正确使用+运算符连接字符串片段,导致Jython无法解析
  • 路径中的反斜杠\未转义,会被当作转义字符处理,引发路径格式问题
  • contents和contenturi的路径拼接缺少必要的分隔符,会导致最终路径不合法

修正后的脚本

import os.path
import sys

filename = sys.argv[0]
print "filename = " + 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 + ']'
)
AdminApp.update(
    'api-docs', 
    'file', 
    '[-operation addupdate -contents C:/IBM_Thinclient_DEV/Auto-deployments/ear/swagger-spec/' + filename + ' -contenturi api-docs.war/yaml/' + filename + ']'
)

关键修改点说明

  1. 补全字符串拼接运算符:在filename前后都加上+,确保字符串片段和变量正确连接,比如'.../' + filename + ' -contenturi...'
  2. 统一路径分隔符:把原脚本中的\yaml改成/yaml/,避免反斜杠转义问题,同时补充路径末尾的斜杠,确保文件路径正确
  3. 补充参数空格:在filename和-contenturi之间添加空格,保证AdminApp.update的命令参数格式合法

验证方法

重新执行原命令:

C:\IBM_Thinclient_DEV>wsadmin.bat -lang jython -host traj-d-was01 -port 8879 -f Auto-deployments/Jython/UpdateApplicationSingleFile.py usergroups.yaml

内容的提问来源于stack exchange,提问作者Martin J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:52:53