грузовой плагин maven с tomcat6 - PullRequest
0 голосов
/ 23 июня 2011

Я пытаюсь настроить плагин Maven Cargo.У меня есть следующие требования:

  • tomcat 6
  • custom server.xml
  • custom context.xml
  • log4j jar, развернутый в tomcat lib
  • установить tomcat на машину, если ее там еще нет
  • привязать к этапу жизненного цикла установки maven для развертывания войны и перезапустить контейнер
  • сделать развернутую войну ROOT.war

Я следовал следующему: http://www.java -tutorial.ch / maven / maven-tomcat-deploy-using-cargo .Это не полный набор функций, который я хочу, и даже он не работает полностью.Вот что я получаю:

Can't load log handler "4host-manager.org.apache.juli.FileHandler"
[INFO] [talledLocalContainer] java.lang.ClassNotFoundException: 4host-manager.org.apache.juli.FileHandler

И затем, когда mvn install возвращается, я делаю ps -ef, и процесс tomcat отсутствует.

Также он копирует войну в ROOT.war, но старый каталог ROOT / не заменяется, поэтому новый ROOT.war фактически не развертывается.

Для "install tomcat, если нетуже существует "требование, кажется, что это должно быть абсолютно простым, но когда я предоставляю

 <zipUrlInstaller>
     <url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip</url>
     <extractDir>/usr/local</extractDir>
  </zipUrlInstaller>

и запускаю mvn cargo: установить, он выдает следующее:

org.codehaus.cargo.container.ContainerException: Failed to get container installation home as the container has not yet been installed. Please call install() first.

Что вызывает недоумение,Он хочет, чтобы я сначала вызвал install, но я звоню install.

Идеи?

1 Ответ

2 голосов
/ 28 июня 2011

Ссылка, по которой вы переходили, дала демо для груза 1.0.6. Доступна последняя версия 1.1.1, поэтому я предлагаю вам использовать последние, и в дочерних тегах есть определенные изменения

Как описано в посте http://cargo.codehaus.org/Deploying+to+a+running+container. Есть определенные изменения в дочерних тегах ZipUrlInstaller.

 <!--
        Careful: As described in the ZipUrlInstaller documentation,
        Cargo versions older than 1.1.0 accept only installDir, you therefore
        need to set installDir instead of downloadDir and extractDir.
        -->

Попробуйте использовать архетип maven для создания примера проекта груза после публикации http://cargo.codehaus.org/Maven2+Archetypes. Я предлагаю вам использовать "Единый модуль Webapp App Archetype"

После настройки проекта maven вы можете установить tomcat 6 с запущенным mvn cargo: install -P tomcat6x команда.

pom.xml фрагмент "архетипа единого модуля веб-приложения", который может быть полезен для вас.

<profiles>
    <profile>
        <id>tomcat6x</id>
        <build>
            <pluginManagement>
                <plugins>
                    <plugin>
                        <groupId>org.codehaus.cargo</groupId>
                        <artifactId>cargo-maven2-plugin</artifactId>
                        <configuration>
                        <wait>true</wait>
                            <container>
                                <containerId>tomcat6x</containerId>

                                <!-- download zip url -->
                                <zipUrlInstaller>
                                    <url>http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip</url>
                                    <downloadDir>${project.build.directory}/downloads</downloadDir>
                                    <extractDir>${project.build.directory}/extracts</extractDir>
                                </zipUrlInstaller>
                            </container>
                        </configuration>
                    </plugin>
                </plugins>
            </pluginManagement>
        </build>
    </profile>
</profiles>

где параметр ожидания true даст вам возможность проверить, работает сервер или нет.

...