例外WASX7122E:预期" - "使用wsadmin.sh部署到Websphere时找不到

时间:2016-10-27 08:24:16

标签: python deployment websphere jython wsadmin

我尝试使用wsadmin.sh脚本编写工具编写脚本以将应用程序部署到Websphere。我可以在命令行上直接执行此操作:

$AdminApp install c:\someFolder\someEar.ear {-MapModulesToServers {{.* .* WebSphere:cell=cellName,node=nodeName,server=serverName}}}

现在我试图通过运行python模块来做同样的事情。

这样可行(因此没有MapModulesToServers选项):

AdminApp.install("c:\someFolder\someEar.ear")

现在我试图添加MapModulesToServers选项,无论我尝试什么,我都会收到错误' IllegalArgumentException:WASX7122E:Expected" - "没找到。'

我已经尝试使用谷歌搜索此消息,但无法找到解决方案。 我试过的一些语法:

AdminApp.install('c:/someFolder/someEar.ear', '[-MapModulesToServers [WebSphere:cell=mycell,node=mynode,server=server1]]')

在控制台中手动部署之后,直接从commandAssistanceJythonCommands_admin.log获取了这个。所以这就是websphere为我的耳朵制作的语法:

AdminApp.install('C:/someFolder/someEar.ear', '[-nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -nodeployejb -appname csiva-ear -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -asyncRequestDispatchType DISABLED -nouseAutoLink -noenableClientModule -clientMode isolated -novalidateSchema -MapModulesToServers [["Wicket Examples" someWar.war,WEB-INF/web.xml WebSphere:cell=cellName,node=nodeName,server=serverName]]]')

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

所以你实际上尝试过这样缩短的建议版本:

 AdminApp.install('C:/someFolder/someEar.ear', '[-MapModulesToServers [["Wicket Examples" someWar.war,WEB-INF/web.xml WebSphere:cell=cellName,node=nodeName,server=serverName]]]')

并确保如果使用*.py选项调用wsadmin,则将其保存在-f文件中,或者使用jython语言启动wsadmin:

wsadmin.bat -lang jython

我刚刚在我的环境中对它进行了测试,这很好用:

AdminApp.install('c:/SampleApp.ear', '[-MapModulesToServers [[ SampleApp Sample1.war,WEB-INF/web.xml WebSphere:cell=was855Node02Cell,node=was855Node02,server=server1 ]] -MapWebModToVH [[ SampleApp Sample1.war,WEB-INF/web.xml default_host ]]]' )