Maven – Utilizando o Apache Maven e M2Eclipse – Java

Publicado: 16 de outubro de 2014 em Java

O Apache Maven é uma ferramenta de gerenciamento de projetos de software e compreensão de pacotes. Baseado no conceito de um modelo de objeto do projeto (POM), O Maven pode gerir um projeto de construção (compilação), elaboração de relatórios e documentação de uma única central de informações.

Um Project Object Model, fornece todas as configurações para um único projeto. A configuração geral cobre o nome do projeto, seu proprietário e suas dependências de outros projetos. Também pode configurar fases individuais do processo de construção, que são implementados como plug-ins. Projetos maiores poderiam ser divididos em vários módulos, ou subprojetos, cada um com seu próprio POM. Cada um pode então escrever um POM raiz através do qual pode-se compilar todos os módulos com um único comando.

O Maven utiliza templates chamados de Archetypes ou arquétipos que são um conjunto de ferramentas de modelagem do projeto Maven. Um arquétipo é definido como um padrão ou modelo inicial a partir da qual todos os outros objetos do mesmo tipo são feitos contemplando as melhores praticas para cada modelo. Os Arquétipos ajudam autores a criar modelos de projeto Maven para os usuários, e oferece aos usuários os meios para gerar versões parametrizadas desses modelos de projeto.

Para instalar o Maven e o M2Eclipse: clique aqui

Criando Uma Aplicação Web com Maven

Após instalar e testar o Apache Maven em seu sistema operacional e também ter instalado o plug-in para utilização do Maven no Eclipse, vamos criar um primeiro projeto Maven para nos aproximar desta ferramenta. Estes projeto vai cobrir primeiramente as funcionalidades básicas do Maven, se você abrir o arquivo pom.xml na raiz do projeto, você verá que existe uma dependência padrão do JUnit.

O JUnit é um framework que nos possibilita realizar testes unitários em nossos programas Java. Por enquanto não vamos utilizar mais nenhuma dependência do Maven pois adicionaremos outras dependências gradualmente assim que utilizarmos outros frameworks em nossa aplicação, vamos utilizar um arquétipo e seu recurso de compressão no formato WAR para que possamos efetuar um Deploy da aplicação na instancia principal do Tomcat.

1 – Clique em File-> New -> Other procure e expanda a pasta Maven, selecione Maven Project e clique em Next:

Maven Project

Maven Project

2 – Aqui você pode configurar a localização do seu projeto, deixe o padrão e clique em Next:

Local do Projeto

Local do Projeto

3 – Esta tela nos possibilita escolher entre vários tipos de arquétipos do Maven, escolha maven-archetype-webapp e clique em Next:

Maven Archetype

Maven Archetype

4 – Preencha os parâmetros para seu arquétipo, basicamente você vai utilizar a convenção utilizada para pacotes Java e um nome de projeto (DaMaven) e clique em Finish quando terminar de preencher os parâmetros, utilize a figura abaixo para referencia:

Propriedades do Arquetipo

Propriedades do Archetype

5 – Assim que o projeto for criado você percebe que há um erro, por falta de dependência: “The superclass “javax.servlet.http.HttpServlet” was not found on the Java Build Path“. Precisamos configurar o projeto para suprir as configurações necessárias. Clique com o botão direito do mouse em cima do projeto e escolha propriedades:

Configuração do projeto

Configuração do projeto

6 – Na janela de propriedades selecione a opção Java Build Path -> Add Library…-> Server Runtime e clique em Next:

Propriedades

Propriedades

7 – Clique em Apache Tomcat e clique em Finish:

Apache Tomcat

Apache Tomcat

8 – Seu projeto já possui todos os requisitos necessários. Abra a pagina index.jsp e utilize o código abaixo e rode o programa:

Testando Aplicação

Testando Aplicação

9 – Com a aplicação já testada, vamos compilar o projeto utilizando o Maven para que seja gerado um arquivo de pacote com nossa aplicação no formato War que será utilizado para efetuar um Deploy no servidor Tomcat. Na barra de ferramentas clique nas opções de compilação e escolha Maven Build:

Maven Build

Maven Build

10 – Na configuração de compilação em Goals, digite: clean install e clique em Run:

Configuração do Build

Configuração do Build

11 – Após o Build bem sucedido, abra a pasta Target e você verá o arquivo comprimido com nossa aplicação DaMaven.war.

Target - DaMaven.war

Target – DaMaven.war

12 – É isso! O Maven já cumpriu seu primeiro proposito, agora fora do Eclipse vamos importar este arquivo para o servidor Tomcat, certifique-se que a instancia principal do Tomcat está rodando em seu computador:

Configuração Tomcat - Instancia Principal

Configuração Tomcat – Instancia Principal

13 – Abra a instancia local do Tomcat no seu navegador:

Tomcat - Localhost

Tomcat – Localhost

14 – Clique em Manager App para acessar as configurações do seu servidor, digite seu login e senha. Em Deploy escolha a opção War File Deploy e acesse o seu arquivo DaMaven.war compilado pelo Maven no Eclipse, o arquivo esta localizado na pasta Target no diretório do seu projeto:

War File Deploy

War File Deploy

15 – Após o Deploy sua aplicação já esta na lista de aplicações do servidor Tomcat e pode ser manuseada:

Lista de Aplicações Web - Tomcat

Lista de Aplicações Web – Tomcat

16 – Para abrir clique no link da sua aplicação ou digite seu nome no seu navegador:

DaMaven - WebApp - Projeto Maven

DaMaven – WebApp – Projeto Maven

Exemplo:

Neste exemplo criamos um projeto Maven com o Archetype do tipo WebApp, sua dependência padrão é do JUnit, responsável por testes unitários na aplicação Java, que por padrão já comtempla  está dependência, compilamos o projeto básico e utilizamos o arquivo compresso de extensão War para efetuar um deploy da aplicação pronta no servidor Tomcat.

JSP – index.jsp

<!DOCTYPE html>
<html>
<head>
<style>
#header {
    background-color:DarkGreen;
    color:white;
    text-align:center;
    padding:5px;
}
#nav {
    line-height:30px;
    background-color:#eeeeee;
    height:400px;
    width:100px;
    float:left;
    padding:5px;
}
#section {
    width:450px;
    float:left;
    padding:10px;
}
#footer {
    background-color:DarkGreen;
    color:white;
    clear:both;
    text-align:center;
   padding:5px;
}
h2 {color: DarkGreen}

</style>
</head>

<body>

<div id="header">
<h1>Desenvolvimento Aberto</h1>
</div>

<div id="nav">
Java<br>
Maven<br>
JSP<br>
JPA<br>
JSF<br>
Servlet<br>
Spring<br>
Hibernate<br>
Tomcat<br>
Oracle DB<br>

</div>

<div id="section">
<h2>Desenvolvimento Aberto</h2>
<p>
Desenvolvimento Aberto é uma organização voltada para o aprendizado e discussão de técnicas de
desenvolvimento focado em algumas linguagens de programação sendo parcialmente/totalmente abertas
ou com licenças gratuitas para desenvolvedores de cada uma de suas respectivas marcas registradas.
</p>
<p>
Desenvolvimento Aberto foi escrito e desenvolve utilizando ferramentas gratuitas disponibilizadas
pelas melhores empresas de software da atualidade, incluindo a própria hospedagem e design deste
site, sendo assim, também proporciona conteúdo gratuito, isso quer dizer que você não paga nada
para aprender e utilizar as tecnologias de ponta que podem ser manuseadas através das linguagens
de programação mais requisitadas pelas empresas no mercado atual.
</p>
</div>

<div id="footer">
Desenvolvimento Aberto © desevolvimento.aberto@live.com
</div>

</body>
</html>
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s