如何使用wsadmin通过命令行在WebSphere Application Server v.8.5中安装(或卸载)EAR?

时间:2016-11-30 01:09:20

标签: websphere wsadmin websphere-traditional

我宁愿通过命令行安装和卸载我的Java应用程序(EAR),而不是必须通过管理控制台,而不是必须通过命令行安装和卸载我的Java应用程序(EAR),在Windows中保存为快捷方式。

请注意我在 Windows 中运行WebSphere Application Server v8.5,所以我需要 DOS 命令,而不是 Unix 那些。

2 个答案:

答案 0 :(得分:3)

创建一个文本文件,比如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()

答案 1 :(得分:3)

要在wsadmin上运行任何一次性命令,您可以执行以下操作:

wsadmin -lang jython -c <command>

要运行多个wsadmin命令的脚本文件,您可以执行以下操作:

wsamdin -lang jython -f <script_file_name>

要找出要安装应用程序的运行命令,请使用AdminConsole安装一次应用程序,然后在右侧的“命令帮助”下安装应用程序&#34;单击&#34;查看最后一个操作的管理脚本命令&#34;。这非常强大,它会向您显示WAS管理员控制台刚刚完成的wsadmin命令。

例如,当我使用管理控制台安装名为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命令,然后将该命令复制/粘贴到脚本或快捷方式或其他任何内容中。