Запустите и настройте сервер WildFly и разверните приложение с помощью WildFly-maven-plugin в 1 Maven run
Я хочу иметь способ запустить maven, чтобы он:
- запустите экземпляр сервера WildFly в автономном режиме (
wildfly:run
) - разверните драйвер hsqldb
- добавить источник данных
- развернуть приложение
проблема в том, что:
-
wildfly:run
блоки, поэтому никакие другие цели maven не могут быть выполнены - экземпляр сервера должен работать, прежде чем он может быть настроен или приложение может развернуто (daaa)
возможная работа вокруг, которая приходит мне на ум:
wildfly:start
- настройте сервер и разверните приложение
- блок, пока пользователь не нажмет CTRL-C, есть ли плагин maven, который это делает?
3 ответов
вы можете использовать параметр beforeDeployment выполнить goal
(источник):
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<configuration>
<beforeDeployment>
<commands>
<command>data-source add --jndi-name=java:jboss/datasources/OracleDS --name=testDB --connection-url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1 --driver-name=h2 --user-name=sa --password=sa</command>
</commands>
</beforeDeployment>
</configuration>
</plugin>
Если вам нужны дополнительные библиотеки для вашего драйвер базы данных, вы можете сделать что-то подобное (источник):
module add --name=org.postgres --resources=/tmp/postgresql-9.3-1101.jdbc41.jar --dependencies=javax.api,javax.transaction.api
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgresql.Driver)
на wildfly:start
цель не будет блокировать, и у него есть крюк выключения, чтобы уничтожить процесс после выхода maven. Возможно, стоит добавить свойство конфигурации, чтобы не регистрировать крючок выключения и оставить процесс запущенным.. ..но я отклоняюсь от темы.
поскольку maven запускает цели на основе фазы жизненного цикла, вы можете вызвать start
и deploy
цель в фазе, которая проходит перед
Я не совсем понимаю, что такое ваш вариант использования или почему wildfly:start
следовал по wildfly:deploy
не хватает.
вы делаете ручное или автоматическое тестирование?
для интеграционного тестирования, если wildfly-maven-plugin
не соответствует вашим потребностям, посмотрите на груз и его поддержка Maven и WildFly.