[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: Continue reading

[TomCat] [Spring] Como definir o ‘spring.profiles.active’ de uma aplicação Spring no Tomcat

spring-boot

Quando trabalhamos com aplicações desenvolvidas com o Framework Spring Boot é normal utilizarmos os ‘profiles‘ para definir o ambiente que estamos trabalhando, os profiles são muito utilizados para carregar os resources utilizados na aplicação, permitindo uma variedade de ambientes, como testes, desenvolvimento, produção, etc.

O Spring Boot permite que implementemos uma solução já com um servidor de aplicação embutido, mas também nos permite gerar um .war e subirmos em nosso próprio servidor de aplicação, quando temos um jar, para executarmos a aplicação com um profile especifico, basta inserirmos os argumentos na execução, exemplo:

java -Dspring.profiles.active=prod -jar MyApp.jar

Mas como fazemos isso em um servidor de aplicação? aonde normalmente só realizamos o deploy do .war?. Quando temos esse tipo de ambiente temos que configurar o nosso servidor de aplicação para que ele possua esses argumentos, assim, as devidas váriaveis estaram definidas na VM e a solução terá acesso a elas.

A solução é simples, no caso do Tomcat quem se responsabiliza em gerenciar sua execução é um arquivo chamado catalina.sh armazenado na pasta /bin, todas as configurações do servidor de aplicação devem ser configurados nesse arquivo. Para adicionarmos um VM’args no caso o `spring.profiles.active` vamos editar esse arquivo e adicionar na variável CATALINA_OPTS seu valor.

Segue a alteração que deve ser feita no catalina.sh: Continue reading