quarta-feira, 11 de setembro de 2013

Projetos Spring integrados ao Maven


Estava estudando o SpringMVC e Apache Maven, quando me deparei com alguns problemas. Em diversos tutoriais pela internet e em até um ebook que estava lendo, a criação dos projetos eram feitos com o plugin "maven-archetype-webapp". Este plugin gera péssimos resultados tanto na configuração quanto na arquitetura de diretorios do projeto.

Os projetos gerados utilizam o Dynamic Web Module de versão 2.3 do Eclipse, uma versão realmente muito antiga. Tentar configurar manualmente pelo Properties do projeto era impossível. Modificar o arquivo web.xml gerava erros e diversos “warnings”.

Para solucionar estes problemas pode-se usar o Spring Tool Suite. O Spring Tool Suite pode ser baixado como uma IDE completa na página Spring Source ou ser utilizado como plugin no Eclipse. Para adicionar o plugin ao Eclipse basta fazer uma busca no Marketplace.

O Spring Tool Suite ou STS é muito completo e prático, tanto para geração de projetos como na integração com o Maven. Aqui vai um pequeno tutorial para criar um projeto Spring MVC.

Vá em File, New e Other ou aperte Control + n. Escolha Spring Project e aperte em Next.

Escreva um nome para seu projeto, escolha a opção Spring MVC Project e tecle em Next. 
 
Escolha um nome para os pacotes e aperte em Finish. 

 
Aguarde até o projeto ser construído, o que pode levar tempo. Quando seu projeto estiver pronto, vá em Properties ou aperte Alt + Enter. Na opção Project Facets modifique a versão do Java para a 1.7 (Java 7) e em Dynamic Web Module, configure para a versão 3.0.

Agora, vá em Java Build Path e aperte em “Add Libray...”. Selecione Server Runtime, aperte Next e escolha um servidor. No meu caso é o Apache Tomcat 7. Desta forma podemos registrar servlets do projeto através de Annotations, caso necessite.


 
No arquivo web.xml altere a tag web-app de abertura para

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

id="WebApp_ID" version="3.0">


Assim mudamos para a versão para 3.0.

Resumindo, quando criar um projeto Spring integrado ao Maven, utilize o Spring Tools Suite. Assim você terá versões mais avançadas do módulo web do Eclipse e poderá usar Annotations para registrar servlets.

Esse artigo surgiu da insatisfação com os tutoriais que encontram-se na internet e para que outras pessoas não passem dias tentendo comfigurar seus projetos.

Nenhum comentário:

Postar um comentário