Um laboratório que visa desenvolver uma solução “típica” para a implantação de aplicativos da web Spring MVC / Maven para Tomcat 7. Os requisitos são:
- Deve haver uma solução para executar o aplicativo localmente.
- Deve haver uma solução para configurar, construir e implantar o aplicativo no servidor Tomcat 7.
Como jogar com isso
- Executando o aplicativo localmente usando incorporado Jetty:
mvn clean jetty:run-exploded
. Como não tenho ideia de como fazê-lo funcionarjetty:run
sem muito material extrapom.xml
, minha solução é: primeiro, construa owar
pacote e exploda-o, depois execute o pacote explodido com o Jetty. - Implementando o aplicativo no Tomcat 7 (configurações predefinidas):
mvn clean tomcat7:redeploy -Ptomcat-deployment
- Implantando aplicação no Tomcat 7 (configurações de TeamCity):
mvn clean tomcat7:redeploy -Pteamcity
. Isso irá esperar que o ambiente forneça:
TOMCAT_SERVER
– nome do servidor descrito no Mavensettings.xml
.TOMCAT_URL
– URL do aplicativo de gerenciamento do Tomcat. Normalmente, algo parecidohttp://localhost:8080/manager/text
.TOMCAT_PATH
– caminho relativo para implantar o aplicativo. Exemplo:/experiment
.ENVNAME
– usado apenas para fins ilustrativos. Pode ser o que desejar.ROOTURL
– usado apenas para fins ilustrativos. Pode ser o que desejar.
Pré-configuração do ambiente
O Tomcat 7 deve ter um usuário com permissões de implantação. Isso é feito fazendo alterações em [tomcat7]/conf/tomcat-users.xml
:
<tomcat-users>
...
<user name="deployer" password="deploy123" roles="manager-script" />
...
</tomcat-users>
A implantação requer que o Maven tenha credenciais para acessar o serviço de gerenciamento do Tomcat. Isso é feito fazendo alterações em settings.xml
:
<settings>
...
<servers>
...
<server>
<id>TomcatServer</id> <!-- It's, BTW, what `TOMCAT_SERVER` is -->
<username>deployer</username>
<password>deploy123</password>
</server>
...
</servers>
...
</settings>