Развертывание веб-приложения с помощью плагина tomcat7-maven-plugin

Итак, вам понадобилось развернуть приложение на сервере приложений Tomcat в конце сборки мавеном. Для этого есть плагин tomcat7-maven-plugin, я использовал его для Tomcat 8, бегающего на java 8. Подробности далее.

Для развертывания нужно выполнить несколько действий руками:

1. В Tomcat8 прописываем пользователя admin/password с ролями «manager-gui,manager-script» в файле tomcat-users.xml (это минимальный набор для поставленной задачи, вы можете добавлять другие роли):

<user username="admin" password="password" roles="manager-gui,manager-script"></user>

2. Добавляем в мавен файл settings.xml по пути C:\Users\%username%\.m2 (для Windows):

<settings>
    <servers>
        <server>
            <id>TomcatServer</id>
            <username>admin</username>
            <password>password</password>
        </server>
    </servers>
</settings>

3. В Windows возможна ошибка (видна в вебморде по адресу http://localhost:8080/manager/html), связанная с тем, что Томкат не может вычистить файлы распакованного WAR.

FAIL - Unable to delete [C:\Program Files\Apache Software Foundation\Tomcat 8.5\webapps\app]. 
The continued presence of this file may cause problems.

Лечится редактированием файла conf/context.xml — добавить antiResourceLocking=»true»:

<context antiResourceLocking="true">
...
</context>

4. Вставка в pom.xml:

    <build>
        <plugins>
           <plugin>
                <groupid>org.apache.tomcat.maven</groupid>
                <artifactid>tomcat7-maven-plugin</artifactid>
                <version>${tomcat.plugin.version}</version>
                <configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>TomcatServer</server>
                    <username>admin</username>
                    <password>password</password>
                    <path>/client</path>
                    <update>true</update>
                </configuration>
            </plugin>
        </plugins>
    </build>

Обратите внимание на ссылку в настройках: http://localhost:8080/manager/text, а не http://localhost:8080/manager/html.

5. Рестартим Томкат, если нужно подхватить изменения в конфигах. Ожидается, что он поднимается на порте 8080.

6. Выполняем для проекта сборку мавеном по команде: mvn clean package tomcat7:redeploy . Обратите внимание- в цели указан tomcat7.

7. Открываем ссылку http://localhost:8080/client

8. PROFIT 🙂

You can leave a response, or trackback from your own site.

Leave a Reply