Мой основной рабочий процесс находится в терминальной mvn clean install
в моем базовом каталоге. Это создает целевой каталог с файлом WAR. Я копирую этот файл войны в каталог webapps моего Tomcat.
Если я вношу изменения, я, очевидно, должен повторить процесс, который является утомительным. Я использую Intellij Ultimate 13.1.6, и я знаю, что все это можно сделать через IDE на основе этого руководства.
Поэтому, прежде чем начать, я запускаю mvn clean
на моей базе, которая удаляет целевой каталог.
Теперь, чтобы начать, когда в Структуру Проекта → Артефакты и создаем новое Веб-приложение: Архив. Я назвал это project_name, и по умолчанию у него был другой выходной каталог (baseDir/out/artifacts/project_name vs baseDir/target), который я оставил по умолчанию и нажал ok.
Теперь я перехожу к Run → Edit Configurations и создаю новый Local Tomcat Server, используя следующие настройки
и на вкладке "Развертывание" я добавляю артефакт, который встроен в мой перед запуском, как показано на моей картинке. Довольно просто.
Однако всякий раз, когда я запускаю сервер через Intellij, он успешно запускается, но ничего не развертывается. Я получаю сообщение об ошибке:
Artifact project_name: com.intellij.javaee.oss.admin.jmx.JmxAdminException: com.intellij.execution.ExecutionException: /Users/path/to/workspace/project_name/out/artifacts/project_name/project_name.war not found for the web module.
И я дважды проверяю свой каталог и, как видно из этой ошибки, ничего не создается. Даже не каталог.
Что я делаю не так? Я знаю, что обходное решение - вернуться в терминал, запустить mvn clean install
и создать этот файл.war, поместить его в конфигурацию развертывания. Я чувствовал, что это был скорее хак, так как я все еще делаю это через командную строку, и если у меня его уже нет, я не могу установить цель как каталог, чтобы найти файл войны.
Любая помощь приветствуется.