【发布时间】:2016-11-30 01:09:20
【问题描述】:
我宁愿通过命令行安装和卸载我的 Java 应用程序 (EAR),而不是通过繁琐的 管理控制台,在 Windows 中保存为快捷方式。
请注意,我在 Windows 中运行 WebSphere Application Server v8.5,所以我需要 DOS 命令,而不是 Unix > 的。
【问题讨论】:
标签: websphere wsadmin websphere-traditional
我宁愿通过命令行安装和卸载我的 Java 应用程序 (EAR),而不是通过繁琐的 管理控制台,在 Windows 中保存为快捷方式。
请注意,我在 Windows 中运行 WebSphere Application Server v8.5,所以我需要 DOS 命令,而不是 Unix > 的。
【问题讨论】:
标签: websphere wsadmin websphere-traditional
要在 wsadmin 上运行任何一次性命令,您可以执行以下操作:
wsadmin -lang jython -c <command>
要运行包含多个 wsadmin 命令的脚本文件,您可以:
wsamdin -lang jython -f <script_file_name>
要找出运行什么命令来安装您的应用程序,请使用 AdminConsole 安装应用程序一次,然后在右侧的“命令帮助”下单击“查看最后操作的管理脚本命令”。这是非常强大的,它会显示 wsadmin 命令来执行 WAS 管理控制台刚刚完成的任何操作。
例如,当我使用管理控制台安装一个名为 myapp.war 的应用程序并查看命令帮助时,我得到了这个很长的命令:
AdminApp.install('myapp.ear', '[ -nopreCompileJSPs -distributeApp -nouseMetaDataFromBinary -appname myapp-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 [[ myapp_Web myapp.war,WEB-INF/web.xml WebSphere:cell=myCell,node=myNode,server=server1 ]] -MapWebModToVH [[ myapp_Web myapp.war,WEB-INF/web.xml default_host ]]]' )
总结:
在管理控制台中执行一次操作以获取管理控制台本身使用的 wsadmin 命令,然后将该命令复制/粘贴到脚本或快捷方式或其他任何内容中。
【讨论】:
创建一个文本文件,比如installApplication.py,并插入以下两行:
AdminApp.install('<path_to_application>/application.ear','[-node nodeName -cell cellName -server serverName]')
AdminConfig.save()
根据您的服务器修改命令中的值,并保存文件。 [注意:以上命令对单机环境有效]。
创建一个新文件,例如installApplication.bat。添加以下命令以使用上述脚本文件调用 wsadmin:
<path_to_WAS_profile>/bin/wsadmin.bat -lang jython -f <path_to_py_file>/installApplication.py
如果启用了管理安全性,则在运行命令时会要求您进行身份验证。
卸载应用程序时,uninstallApplication.py 脚本如下所示:
AdminApp.uninstall('<application_name>')
AdminConfig.save()
然后称它为:
<path_to_WAS_profile>/bin/wsadmin.bat -lang jython -f <path_to_py_file>/uninstallApplication.py
在网络部署环境中,您可能会将应用程序部署到集群中。然后installApplication.py 脚本包含以下代码:
AdminApp.install('<path_to_application>/application.ear', '[-cluster cluster1]')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()
然后您可以从 Deployment Manager 配置文件文件夹中调用 wsadmin.bat 工具。
卸载命令在独立和网络部署环境之间保持相同。添加行同步节点,我们有:
AdminApp.uninstall('<application_name>')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()
【讨论】: