• Fabriciojf.com
  • fabriciojf@gmail.com

Fabricio S Costa Tecnologia, dicas e uma pá de coisas legais!

  • Blog
  • Bemmelhor SI
  • Serviços
    • Consultoria Asterisk

Criando um projeto Maven no Linux

    Mon, Apr 08 2013
      

Maven é uma ferramenta da Apache Software Foundation usada para gerenciamento e automação de projetos em Java. Com ele você consegue gerenciar com mais facilidade as dependências do seu projeto. Ele é similar ao Ant, também da apache porém é mais fácil de configurar.

O Maven centraliza as informações do projeto em um arquivo chamado pom.xml (Project Object Model). Neste arquivo são descritos dados como: nome do projeto, informações dos desenvolvedores, dados do repositório e sistema de controle de versão, dependências de bibliotecas externas entre outros…

Instalando o Maven

Para instalar o maven em seu ambiente de trabalho digite o seguinte comando no console:

$ sudo apt-get install maven2

Ao instalar o maven2, ele criará um repositório em sua máquina que poderá ser acessado através do comando:

$ cd ~/.m2/repository

Neste repositório ele colocará todas as bibliotecas que você declarar nos pom.xml das suas aplicações. O interessante é que estas aplicações ficam minúsculas no controle de versão, já que as bibliotecas estão centralizadas no maven e não precisam mais acompanhar os fontes dos projetos.

No maven, toda vez que você compila a aplicação ele executa o download daquelas libs declaradas que não constam no repositório local e, por isso, se você baixar os fontes do projeto em outra máquina, basta instalar o maven e ele resolverá todas as dependências para você.

Agora que o ambiente está preparado, vamos criar a pasta do projeto?

Crie e acesse a pasta que receberá nosso projeto maven. ex:

mkdir helloworld
cd helloworld

O que são archetypes?

O Maven trabalha com archetypes ou arquétipos que tem por significado, segundo o site http://www.eon.com.br/unilae/unil351.htm, padrão original ou modelo, a partir do qual outras coisas da mesma natureza são feitas.

Protótipo Ideal das coisas, idéia que serve de modelo em relação a outras. Ou seja, você cria projetos utilizando modelos pré-definidos segundo a necessidade e o archetype se encarrega de organizar toda a estrutura inicial. Para um projeto web, por exemplo, o archetype montaria a seguinte estrutura de pastas:

  • /pom.xml
    • src
      • main
        • java
        • resources
        • webapp
      • test
        • java
        • resources
        • webapp
  • readme.txt
  • license.txt

Esta estrutura é um padrão para projetos java web. Dentro da pasta raiz ‘/’ não deve existir nada além do pom.xml, o src, o readme.txt e o license.txt. Todas as classes java devem ficar dentro de /src/main/java. Todos os arquivos relativos a web (jsp, html, xhtml) devem ficar dentro de /webapp e os demais arquivos, como os .properties, devem ficar dentro de /resources.

Se o seu projeto for utilizar mais de uma linguagem de programação, como por exemplo, Java e Ruby, você deve criar uma pasta para os códigos ruby no mesmo nível da pasta Java. ex:

  • /pom.xml
    • src
      • main
        • java
        • ruby
        • resources
        • webapp
      • test
        • java
        • ruby
        • resources
        • webapp
  • readme.txt
  • license.txt

A pasta test contém a mesma estrutura da pasta main, mas, como o próprio nome sugere, é utilizada apenas para testes.

Quando você compila um projeto no maven com o mvn compile, ele cria uma pasta target no nível do /src para publicar a aplicação, por isso, quando for remeter seu projeto para o repositório do controle de versão, não envie esta pasta, execute o comando mvn clean e ele limpará o projeto deletando os arquivos desnecessários.

Agora que você conhece o archetype crie o projeto Maven através do comando:

$ mvn archetype:generate

Este comando, archetype:generate, irá iniciar um wizard para a criação do projeto. O processo é muito intuitivo basta apenas entender o que significam os termos que serão solicitados durante a criação. São eles:

  • groupId : domínio do fabricante ex: br.com.fabriciojf;
  • artifactId : nome do projeto ex: helloworld;
  • versao : versão do projeto. O maven utiliza o padrão ‘1.0 SNAPSHOT‘ para a versão corrente em desenvolvimento, por isso, é bom utilizarmos o mesmo para o nosso projeto;
  • package : nome do pacote java que deverá ser gerado inicialmente ex: br.com.fabriciojf.helloworld;

Após esses passos, serão listados os archetypes disponíveis no repositório oficial do maven. Você deve escolher a opção desejada e pressionar Y. Pronto, o projeto já está criado. Agora podemos acrescentar suas dependências no pom.xml e criar os arquivos da aplicação em sua ide de preferência, respeitando a hierarquia de pastas descrita acima.

O interessante é que o projeto criado pelo maven já é reconhecido pelo Netbeans e pelo Eclipse, por isso, não é necessário criar um novo projeto com fontes existentes basta abri-los normalmente.

Se você não encontrou um archetype que sirva às suas necessidades, baixe-o de outro repositório, basta descobrir sua url e informá-la para o archetypeCatalog. Ex: Para baixar um archetype JSF/JSP de outro repositório, digite na linha de comando:

$ mvn archetype:generate -DarchetypeCatalog=http://myfaces.apache.org

Onde -D é o atributo que define o novo valor para a variável archetypeCatalog. Este comando altera o catálogo do maven apenas neste momento, após sua execução ele retornará ao repositório default.

Bem pessoal, esta é minha primeira matéria sobre Java aqui no portal. Espero ter ajudado aqueles que ainda não utilizam sistemas de gerenciamento e automação de projetos.

Leave a comment
  • Primeiro
  • «
  • 8
  • 9
  • 10 (current)
  • 11
  • 12
  • »
  • Último
Fabriciojf.com

Criando um servidor para controle de versões com Subversion

Fabriciojf.com

Utilização de Sistemas Distribuídos na Renderização de Imagens 3D

Fabriciojf.com

Programa Hospitalar didático para estudantes Delphi

Fabriciojf.com

Dica Rápida: Trabalhando com Flex e Maven utilizando Flexmojos

Fabriciojf.com

Instalando Plugin do Metrics no Eclipse

Fabriciojf.com

Dica Rápida: Ajustando MTU no Debian e Windows

Fabriciojf.com

Dica Rápida: Descobrir o Sistema Operacional do Client via Browser

Fabriciojf.com

Acrescentando funcionalidades ao pom.xml

Últimos Artigos


Fabriciojf.com

6 Frameworks para deixar seu site Responsivo

Fabriciojf.com

Analise o design responsivo do seu site

Fabriciojf.com

Dica Rápida: Revertendo modificações no GIT

Fabriciojf.com

Dica Rápida: Conectando um banco de dados MySQL ou Postgres com PHP

Fabriciojf.com

Criando AGI no Asterisk com PHP-AGI

Fabriciojf.com

Dica Rápida: Ajustando MTU no Debian e Windows

Fabriciojf.com

Configurando Apache, Trac e Subversion

Fabriciojf.com

Problem creating jar: [...]/target/classes (Is a directory)

Fabriciojf.com

Dica Rápida: Problema com CHKJ3000E no Eclipse

Fabriciojf.com

Acrescentando funcionalidades ao pom.xml

   Social



   Recursos

  •    Conversor Hash PHP
  •    Mapa do Site (xml)


   Bemmelhor CMS

Este site foi desenvolvido com a Plataforma Bemmelhor CMS, um sistema gestor de conteúdo potente e fácil de usar, ideal para empresas que desejam apresentar seu valor na internet. Clique aqui e conheça mais detalhes sobre essa ferramenta espetacular.

© Fabriciojf.com - Site pessoal de Fabricio S. Costa - Copyright 2025