[Tomcat] [Maven] Maven plugin para deploy no Tomcat 9

TOMCAT-SERVER

Normalmente para realizar o deploy de uma aplicação no Tomcat, temos que entrar em seu painel e realizar o upload manualmente do arquivo .war, esse processo é um pouco custoso e nem sempre temos acesso a esse painel em um ambiente de produção, para isso a própria Apache desenvolveu um plugin para automatizar o processo de deploy.

O plugin que vou apresentar agora é do Tomcat 7 porém consegui utiliza-lo normalmente com o Tomcat 9.

Configurando o Plugin

Segue a configuração do plugin tomcat7-maven-plugin:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>TomcatServer</server>
        <path>/${project.artifactId}</path>
    </configuration>
</plugin>

A configuração do plugin é bem simples, porém cabe algumas resalvas a serem esclarecidas, note que temos as seguintes configurações para o plugin:

url = Endereço do servidor Tomcat, o path /manager/text é padrão para o processo de deploy
server = É o ID do servidor que vamos configurar a seguir no arquivo settings.xml do Maven
path = Path de deploy do projeto, normalmente utilizamos o mesmo nome do artifactId

Configurando o Server no Maven:

O elemento settings no arquivo settings.xml contém elementos usados ​​para definir valores que configuram a execução do Maven. Estes incluem valores como o local do repositório local, servidores de repositórios remotos, alternativos e informações de autenticação.

Esse arquivo fica na home do usuário dentro da pasta .m2/, caso o arquivo não exista você pode cria-lo. Para a configuração do servidor Tomcat, vamos inserir suas informações dentro da tag server como mostra o exemplo a seguir:

Arquivo settings.xml ( ~/.m2/settings.xml ):

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
    <servers>
        <server>
            <id>TomcatServer</id>
            <username>admin</username>
            <password>password</password>
        </server>
    </servers>
</settings>

A TAG `server` / `id` do settings.xml deve ser a mesma da `server` do configuration do plugin.

Configuração de usuário do Tomcat

Já com o plugin e o server devidamente configurados, basta nos atentarmos ao usuário e senha do Tomcat. Os usuários possuem regras (rules) e para realizar o deploy via script esse usuário deve possuir uma rule de `manager-script`, segue um exemplo do arquivo tomcat-users.xml responsável pelas configurações de usuários e senhas do Servidor.

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="admin" password="password" roles="manager-gui,manager-script" />
</tomcat-users>

Maven Goals

Com tudo devidamente configurado, o plugin nos da as seguintes funcionalidades:

mvn tomcat7:deploy
mvn tomcat7:undeploy
mvn tomcat7:redeploy

Help DEV – Analista desenvolvedor Java / Android
https://helpdev.com.br/zarelli

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.