Как создать, развернуть и запустить приложение Java на JBoss WildFly из командной строки? - PullRequest
2 голосов
/ 06 июня 2019

Моя команда работает над Java-приложением, которое работает на Jboss WildFly, используя Maven для разрешения зависимостей и Primefaces.

Мы используем Eclipse для сборки, развертывания и запуска сервера.Eclipse выполняет большую часть работы, собирая WAR-файл, развертывая его на сервере и выполняя его.

Теперь нам нужно создать скрипт, который выполняет все эти шаги, потому что он должен запускаться на удаленном сервере.

.

Шаги будут примерно такими ...

1 Запустите Maven: $ M2_HOME / bin / mvn clean install

2 Создайте проект для войныfile

3 Развернуть файл war в папку развертывания WildFly $ WILDFLY_HOME / bin / jboss-cli.sh --connect --command = "deploy --force [PATH_TO_WAR]"

4 Запуститьсервер $ WILDFLY_HOME / bin / standalone.sh

.

Я могу выполнить каждый шаг, но после запуска сервера изменения в приложении не изменяются.Я думаю, что это потому, что файл WAR должен быть собран, оптимизируя его для JBoss.В Eclipse есть способ сделать это при экспорте проекта.Мне нужно знать, как это сделать из команды.

РЕДАКТИРОВАТЬ:

Реальная проблема заключается в том, что Jboss не обновляет опубликованный проект, когда я запускаю его из скрипта bash,Я думал, что это потому, что я должен был построить это определенным образом.Я был неправ.Сборка в порядке, только при запуске Maven развертывание завершено.Дело в том, что даже если я пересоберу проект и заново разверну его, сервер, похоже, вообще не заметит.

Я попытался удалить папки tmp, lib и data из отдельной папки, но ничего не происходит.Я также удалил автономные / развернутые подфайлы и папки и получил тот же результат.

Единственный способ достичь ожидаемого результата - это перейти в Eclipse, перейти на вкладку «Серверы», щелкнуть правой кнопкой мыши на JBoss Wildfly и нажатьна «Чисто ...».Эта опция, кажется, очищает кеш, перестраивает и публикует приложение правильным способом, которого я не знаю.Я не нашел никаких ответов в Google.

опция очистки сервера затмений

1 Ответ

2 голосов
/ 07 июня 2019

Посмотрите на Eclipse war export: оптимизация под конкретную среду выполнения сервера .

Цитата из ответа @Konstantin Komissarchik:

Сам Eclipse ничего не делает с этой опцией. Что происходит зависит от конкретного серверного адаптера. Многие из адаптеров не сделать что-нибудь с этой опцией, но они могут в будущем.

Если серверный адаптер поддерживает оптимизацию экспорта, он имеет возможность отображения пользовательских параметров под этим всплывающим списком время выполнения, так что это хороший сигнал, чтобы использовать, чтобы увидеть, если что-то будет на самом деле произошло.

Итак, учитывая, что в предоставленном вами изображении нет пользовательских параметров ниже выбора Wildfly 9, я почти уверен, что этот параметр не выполняет какую-либо оптимизацию в вашей экспортированной войне, поэтому вы можете полностью пропустить ее в своем новом сборке-развертывании процесс.

Как я могу построить файл войны из команды, зная, что он должен работать на Wildfly?

Мы также долгое время разворачиваем приложения на нескольких версиях Widlfy с тем же подходом, который вы планируете, без оптимизации. Я могу заверить вас, что мы не столкнулись с какими-либо проблемами с производительностью.

...