Использование оверлеев Maven в веб-приложении запуска конфигурации с использованием IntelliJ? - PullRequest
11 голосов
/ 21 сентября 2011

Я занимаюсь разработкой сайта на основе магнолии. Я использую архетип веб-приложения для создания нового веб-приложения. Используя командную строку, я могу создать WAR-файл и развернуть его в своем контейнере (Tomcat). Затем я запускаю его, и он отлично работает.

Моим следующим шагом был импорт структуры моего проекта в IntelliJ. IntelliJ все прекрасно видит и умеет все это компилировать. Я проверил это, выполнив сначала maven clean, а затем позвольте IntelliJ сделать все остальное (пересобрать проект).

Последний шаг - запустить его в моем контейнере. Я настраивал конфигурации запуска для веб-приложений (они не используют наложения войны), и они работали просто отлично. В этом случае я настроил его, как и прежде, и указал на мой взорванный артефакт веб-приложения.

Когда я запускаю tomcat, он не находит мое веб-приложение. Я обнаружил, что наложение не было объединено с целевым каталогом проекта (что обычно имеет место при простой установке maven). IntellJ, однако, создал каталог оверлеев в моем проекте и распаковал туда (overlay / super) WAR-файл.

Я работаю, когда самостоятельно устанавливаю maven, а затем запускаю Tomcat в IntelliJ. Это очевидно, потому что все виды необходимых файлов теперь находятся в моей целевой директории (например, web.xml:)).

То, что я хочу, это: - IntelliJ знает, что когда он запускает Tomcat, он должен подготовить целевой каталог, как это делали бы «mvn install» или «mvn package».

Что это делает: - Это делает что-то среднее. Он создает целевой каталог и копирует ресурсы из проекта webapp. Он не перекрывает какую-либо WAR-зависимость, поэтому целевой каталог webapp неполный.

У кого-нибудь есть советы, чтобы решить эту проблему?

1 Ответ

10 голосов
/ 21 сентября 2011

Я обнаружил, что установка флажка "run maven goal" в конфигурации run и настройка пакета mvn делает его работоспособным.

...