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

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

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

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

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

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

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


person D Parsin    schedule 15.01.2011    source источник


Ответы (2)


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

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

person Axel Fontaine    schedule 15.01.2011
comment
У вас есть предложения о том, как заставить его создавать эту войну из папки src/test/java, а не src/main/java? - person D Parsin; 16.01.2011
comment
Переместите Mock-код в src/main/java и установите флаг для его активации. Стройте свою войну как обычно. - person Axel Fontaine; 16.01.2011

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

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

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

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

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

person D Parsin    schedule 21.01.2011