Começando um projeto web com Maven 29/07/2006
Por: Bruno Mentges de Carvalho , trackbackNeste artigo irei abordar como começar um projeto web usando o Apache Maven. Iremos utilizar também o ambiente de desenvolvimento sugerido em meu artigo anterior: Como montar um ambiente de desenvolvimento Java, com Eclipse + WTP.
O que é o Maven ?
Segundo o próprio site do Maven, Maven é uma ferramenta para construir (compilar, gerar arquivos de deploy, etc) e gerenciar qualquer projeto baseado em Java.
Dentre os objetivos da ferramenta, estão:
- Simplificar e facilitar o processo de construção da aplicação.
- Prover um sistema de construção de aplicações uniforme.
- Prover informações sobre o projeto com qualidade.
- Prover guias de boas práticas para o desenvolvimento.
- Habilitar migração transparente de novas funcionalidades.
Daqui para frente assumo que tenha baixado e instalado o Maven (versão 2!).
Como fazer a Estrutura de Diretórios e o pom.xml
Agora que sabemos o que é partiremos para a etapa seguinte. Vamos montar uma estrutura de diretórios seguindo os arquétipos do Maven.
Basta digitar num console (prompt do ms-dos?) o que está escrito em negrito:
C:\MeuWorkspace\ > mvn archetype:create -DgroupId=com.bmentges.blog -DartifactId=teste -DarchetypeArtifactId=maven-archetype-webapp
Uma pasta chamada “teste” irá ser criada, com o pom.xml e um diretório src.
A Estrutura do POM.XML
O pom.xml é o arquivo de descrição do projeto gerenciado pelo Maven. Ele, o que acabamos de criar com o archetype, tem a seguinte estrutura:
<project xmlns=”http://maven.apache.org/POM/4.0.0″ xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>com.bmentges.blog</groupId>
<artifactId>teste</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Maven Webapp Archetype</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>teste</finalName>
</build>
</project>
Onde vemos groupId e artifactId são as informações de grupo e artefato. Um grupo pode conter vários artefatos (projetos) dentro dele. Se sua empresa tiver vários artefatos, você pode colocar como groupId o nome de sua empresa e como artifactId o nome do projeto.
Packaging é a forma de empacotamento para deploy. Aqui configuramos para que o maven gere um war do seu projeto, para ser deployado em um application server, Tomcat por exemplo.
Dependencies é uma das coisas mais interessantes do maven. Nessa parte do arquivo, podemos colocar blocos de dependências do seu projeto, com <dependency></dependency>. Ao colocar aqui uma dependência, ele checa num repositório (o padrão é o http://www.ibiblio.com/maven2) e baixa a versão mais recente (ou a explicitada por você).
Criando um projeto no Eclipse e importando a estrutura de diretórios Maven
Abra o eclipse no seu workspace (você deve digitar aquele comando no diretório do seu workspace), e crie um novo projeto assim:
File -> New -> Project … -> Dynamic Web Project ->
Project name: teste (o que voce colocou como artifactId)
Target Runtime: Tomcat X.X apontando pro diretorio onde instalou o tomcat.
-> Next -> Next ->
Content Directory: src/main/webapp
Java Source Directory: src/main/java
-> Finish.
Agora ele te perguntará se quer mudar para o J2EE view. Coloque não.
Pronto, agora você já tem um projeto maven funcionando no eclipse ![]()