Запустите веб-контейнер, затем разверните войну с плагином Cargo Maven2
Я пытался использовать Cargo-Maven2-плагин для автоматизации развертывания моего модуля WAR для тестирования.
Интересно, как я могу запустить сервер Tomcat (предварительно установленный на моем компьютере) и автоматически развернуть мою войну на запущенном сервере?
В документации проекта Cargo упоминается, что груз: начальная цель может дополнительно развертывать развертываемые объекты:
http://cargo.codehaus.org/Maven2+plugin
груз: старт Начать контейнер. Эта задача может дополнительно установить и настроить контейнер; он также может по желанию развертывать развертываемые файлы (WAR, EAR и т. д.).
Однако я понятия не имею, как включить эту опцию, чтобы развернуть развертываемые объекты при запуске cargo:start.
Вот моя текущая конфигурация POM:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0</version>
<configuration>
<wait>true</wait>
<container>
<containerId>tomcat6x</containerId>
<home>${tomcat.home}</home>
</container>
<configuration>
<type>standalone</type>
<home>target/tomcat6x</home>
</configuration>
<deployer>
<deployables>
<deployable>
<groupId>${project.groupId}</groupId>
<artifactId>my-war</artifactId>
<type>war</type>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>my-war</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
Когда я запускаю "mvn cargo:start", сервер tomcat запускается, однако развертываемая my-war развернута не будет. И мне нужно запустить "mvn cargo:deploy" из другой оболочки, чтобы развернуть эту войну.
1 ответ
ОК. Здесь происходит несколько вещей:
1) Вы упоминаете, что сервер Tomcat предварительно установлен на машине, но у вас есть каталог, указанный в целевом каталоге. Это не очень хорошая идея, так как это будет уничтожено после mvn clean
,
2) Для предварительно установленного Tomcat вы не устанавливаете type
в existing
внутри конфигурации развертывателя.
3) Где ваше определение контекста? У вас есть файл фрагмента контекста или вы используете файл tomcat.xml в каталоге WEB-INF в WAR?
В итоге комбинация ошибок конфигурации сдерживает вас. Опубликуйте обновленную конфигурацию Maven и дополнительные сведения об определении контекста XML, и я могу помочь вам в этом.