Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Проблема с развертыванием jar проекта в работающий контейнер, который был запущен с помощью плагина maven cargo

Автор вопроса: D ParsinОтветов: 2

У меня есть ряд сервлетов и фильтров сервлетов в проекте maven, которые упакованы в банку, и эта банка предназначена для включения в каталог /lib ряда других "хостовых" веб-приложений. Эти сервлеты не предназначены для запуска в одиночку - и не требуют собственной войны (это не отдельное веб-приложение).

В моем каталоге src/test/java у меня есть несколько объектов Mock, которые слабо имитируют эти "хост-приложения".

Я использую груз на этапе интеграционного тестирования для запуска экземпляра tomcat, но мне трудно заставить tomcat использовать мои ложные "хостовые" сервлеты в src/test/java.

Есть ли рекомендуемый способ сделать это? Нужно ли сначала создавать войну из исходников в src/test/java?

Кроме того, мне нужно будет переместить банку моего фактического проекта в WEB-INF/lib перед запуском контейнера. Я думал об использовании плагина сборки maven для этого? Есть ли способ сделать это, используя только параметры конфигурации груза?

Большое спасибо за любой вклад.

deploymentmavenintegration-testingtomcatmaven-cargo

Ответы

Ответ 1 · Axel Fontaine

Да, вы должны построить ВОЙНУ для этого.

Cargo развертывает то, что понимает контейнер, а именно файлы WAR или EAR, но не файлы JAR.

Ответ 2 · D Parsin

В итоге я использовал плагин maven-war-plugin на этапе предварительного интеграционного тестирования для создания войны.

Затем я использовал плагин maven-dependency-plugin, чтобы скопировать некоторые необходимые зависимости в расположение военной сборки.

А потом я указал груз на это новое место войны для интеграционных тестов.

Таким образом, когда я делаю пакет mvn, я получаю банку со всеми классами, которые я хочу упаковать, а когда я запускаю интеграционный тест mvn, я получаю войну, что груз запускается как тестовая система. Это сработало очень хорошо.

Спасибо, что посмотрели мой вопрос.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы