проблема с развертыванием проектного фляги в работающем контейнере, который был запущен с плагином maven cargo - PullRequest
0 голосов
/ 16 января 2011

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

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

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

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

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

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

Ответы [ 2 ]

0 голосов
/ 21 января 2011

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

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

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

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

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

0 голосов
/ 16 января 2011

Да, вы должны создать WAR для этого.

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

...