Запустите веб-контейнер, затем разверните войну с плагином Cargo Maven2 - PullRequest
1 голос
/ 22 ноября 2010

Я пытался использовать cargo-maven2-plugin для автоматизации развертывания моего модуля WAR для тестирования.

Интересно, как мне запустить сервер Tomcat (предварительно установленный на моей машине) и развернуть мою войну назапустил сервер автоматически?

В документации проекта Cargo упоминается, что груз: стартовая цель может опционально развернуть развертываемые объекты:

http://cargo.codehaus.org/Maven2+plugin#Maven2plugin-gettingstarted

груз: начатьконтейнер.Эта задача может дополнительно установить и настроить контейнер;он также может опционально развертывать на нем развертываемые файлы (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 Ответ

2 голосов
/ 08 февраля 2011

OK - здесь происходит несколько вещей:

1) Вы упоминаете, что сервер Tomcat предварительно установлен на машине, но у вас есть каталог, указанный в целевом каталоге.Это не очень хорошая идея, так как это будет уничтожено после mvn clean.

2) Для предустановленного Tomcat вы не устанавливаете type в existing в конфигурации развертывания.

3) Где ваше определение контекста?У вас есть файл фрагмента контекста или вы используете файл tomcat.xml в каталоге WEB-INF в WAR?

Итог, комбинация ошибок конфигурации сдерживает вас.Опубликуйте обновленную конфигурацию Maven и дополнительные сведения об определении контекста XML, и я могу помочь вам в этом.

...