Utilização do Maven

10 respostas
R

Bom dia galera.

Eu sempre achei o Maven um luxo desnecessário.

Talvez por nunca tê-lo utilizado mais a fundo sempre tive um certo preconceito com a ferramenta.

Mas agora pretendo rever isso e queria saber da galera quais os usos que vcs fazem do Maven no dia-a-dia de produção.

Desde já grato pelas respostas.

10 Respostas

kdoigor

ajuda no gerenciamento de dependencias.
quando está com build continua, consegue pegar quem da equipe comitou código quebrado.
o projeto nao depende de IDE.
integração com testes e geração de relarório dos testes.
facil modularicação do sistema(quando se tem um sistema muito grande com muitos módulos e componentes genéricos).

dtxk

kdoigor:
ajuda no gerenciamento de dependencias.
quando está com build continua, consegue pegar quem da equipe comitou código quebrado.
o projeto nao depende de IDE.
integração com testes e geração de relarório dos testes.
facil modularicação do sistema(quando se tem um sistema muito grande com muitos módulos e componentes genéricos).

concordo com o amigo…

Ataxexe

A ideia básica do Maven é gerenciar o ciclo de montagem do seu projeto. Não é escopo do Maven (pelo menos não na versão 2, que é a que conheço) fazer integração contínua (para isso, use alguma ferramenta como o Jenkins).

O Maven, na versão 2, apresentava diversos problemas com relação ao gerenciamento de dependências e configuração de projetos mais complexos. Uma ferramenta alternativa acabou surgindo e ganhou de lavada do Maven. A ferramenta em questão chama-se Gradle e eu recomendo fortemente que você dê uma olhada nela. Ela é baseada em DSLs escritas em Groovy, o que deixa a tarefa de configuração extremamente simples e legível.

O pessoal do Hibernate chegou a migrar pro Gradle, para mais detalhes veja aqui. Existe, também, um excelente artigo comparando o Maven com Ant + Ivy, que você pode ler aqui.

Hoje eu não posso opinar sobre Maven 3 vs Gradle pois desisti do Maven na versão 2, mas fica a dica pra você dar uma olhada no Gradle e, se optar pelo Maven, fuja da versão 2.

kdoigor

Ataxexe:

Hoje eu não posso opinar sobre Maven 3 vs Gradle pois desisti do Maven na versão 2, mas fica a dica pra você dar uma olhada no Gradle e, se optar pelo Maven, fuja da versão 2.

quais problemas vc enfrentou ? sempre usei maven desde a versao 2.x e embora algumas coisas dessem um pouco de trabalho pra fazer, nunca tive problemas.

Ataxexe

kdoigor:
Ataxexe:

Hoje eu não posso opinar sobre Maven 3 vs Gradle pois desisti do Maven na versão 2, mas fica a dica pra você dar uma olhada no Gradle e, se optar pelo Maven, fuja da versão 2.

quais problemas vc enfrentou ? sempre usei maven desde a versao 2.x e embora algumas coisas dessem um pouco de trabalho pra fazer, nunca tive problemas.

Os principais problemas que tive e que me fizeram perder o pouco da sanidade que me restava:

  • Não é possível remover uma dependência indireta de forma global (se outra dependência a declara, você deve removê-la também);
  • Conforme o projeto cresce, a configuração fica gigantesca e trabalhosa de fazer (veja o artigo Maven vs Apache + Ivy para ter noção);
  • Suporte pífio a múltiplos módulos (veja itens 1 e 3 do artigo da migração do Hibernate)
saoj

É um lixo necessário.

Se bem que vc só sofre uma vez e depois esquece dele, o que é bom.

kdoigor

eu gosto de trabalhar da seguine forma com maven:

  1. um módulo de configuração e nele tem o antinstaller http://antinstaller.sourceforge.net/, esse cara vai configurar meu .ear e meu servidor de aplicação
  2. um módulo só pra dependências “parent”
  3. e depois os módulos que normalmente se cria pra um .ear, além dos componentes genéricos criados em outros módulos .jar

uma coisa que me ajudava era colocar algumas tasks do ant dentro do maven o que facilitava configurações e copia de arquivos específicos.

R

kdoigor:
ajuda no gerenciamento de dependencias.
quando está com build continua, consegue pegar quem da equipe comitou código quebrado.
o projeto nao depende de IDE.
integração com testes e geração de relarório dos testes.
facil modularicação do sistema(quando se tem um sistema muito grande com muitos módulos e componentes genéricos).

Interessante,no seu caso é Maven + Junit + o que?

kdoigor

raf4ever:
kdoigor:
ajuda no gerenciamento de dependencias.
quando está com build continua, consegue pegar quem da equipe comitou código quebrado.
o projeto nao depende de IDE.
integração com testes e geração de relarório dos testes.
facil modularicação do sistema(quando se tem um sistema muito grande com muitos módulos e componentes genéricos).

Interessante,no seu caso é Maven + Junit + o que?

meu ambiente ta assim hoje:
svn (provavemente eu migre pro git) + maven + ant plugin + ant installer + junit + hudson + selenium . (versionamento,construção, testes)
outra coisa, pra quem ta lendo o post e ta começando com maven, o netbeans ajuda bastante.

bombbr

saoj:
raf4ever:

Eu sempre achei o Maven um luxo desnecessário.

É um lixo necessário.

Se bem que vc só sofre uma vez e depois esquece dele, o que é bom.

Concordo…
O Maven é um LIXO.
Cria problemas que não existem… e resolve problemas que um script Ant resolve de forma simples e fácil.

Criado 14 de agosto de 2012
Ultima resposta 14 de ago. de 2012
Respostas 10
Participantes 6