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

How do I install (or uninstall) an EAR in WebSphere Application Server v.8.5 via command line, using wsadmin?

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

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

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

要运行 wsadmin 上的任何一次性命令,您可以执行:

wsadmin -lang jython -c <command>

要运行多个wsadmin命令的脚本文件,你可以这样做:

wsamdin -lang jython -f <script_file_name>

要找出 运行 的命令以安装您的应用程序,请使用 AdminConsole 安装一次应用程序,然后在右侧 "Command Assistance" 下单击 "View administrative scripting command for last action"。这非常强大,无论 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 命令,然后 copy/paste 该命令进入脚本或快捷方式或其他任何内容。