Как установить (или удалить) EAR в WebSphere Application Server v.8.5 через командную строку, используя wsadmin?
Вместо того, чтобы проходить через консоль администрирования, что утомительно, я бы скорее установил и удалил свое Java-приложение (EAR) через командную строку, сохраненное как ярлык в Windows.
Обратите внимание, что я использую WebSphere Application Server v8.5 в Windows, поэтому мне нужны команды DOS, а не команды Unix.
2 ответа
Чтобы выполнить любую однократную команду на 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()
Вы можете позвонить wsadmin.bat
инструмент из папки профиля диспетчера развертывания.
Команды удаления остаются одинаковыми для автономных сред и сред сетевого развертывания. Добавив строку для синхронизации узлов, мы имеем:
AdminApp.uninstall('<application_name>')
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()