Maven 3.0 lançado

41 respostas
Paulo_Silveira

O Maven 3.0 estava em desenvolvimento há bastante tempo, e finalmente temos um grande release:
http://maven.apache.org/release-notes-3.0.x.html

Há compatibilidade com as versões anteriores, salvo algumas poucas incompatibilidades. O build também deve ficar muito mais rápido.

Uma das maiores críticas, o excesso de XML, agora pode ser eliminado. Já que as estruturas internas não estão mais ligadas diretamente ao XSD do POM, podemos popular essas estruturas de diversas maneiras, inclusive programaticamente onde for conveniente. É dessa forma que o polyglot maven funciona:
http://polyglot.sonatype.org/

Algumas dúvidas ainda restam: nessa hiato entre o maven 2 e o maven 3, muitos desenvolvedores optaram por outras formas de build: alguns voltaram para o Ant+Ivy, outros foram para ferramentas novas como o Gradle e o Buildr. Será que há tempo para o Maven nos reconquistar?

Mais informações no InfoQ também:

41 Respostas

fabiofalci

Pois é, optamos por Ant + Ivy e estamos bem servidos.
Vamos ter que avaliar se vale a pena dar outra chance pro maven.

Ataxexe

Muito bom! Espero que o Maven preencha essa lacuna.

rod

O maven virou sinônimo de “backup da internet” além dos arquivos pom.xml gigantescos.
Vai ser difícil apagar essa imagem dele, atualmente uso o Gradle sempre que posso e não sinto saudade do Maven.

quebrado

Boa noticia.
Uso o maven e não tenho nenhuma reclamação dele. :thumbup:
t+

Leozin

Nós também usamos muito o maven ainda e, tirando o fato que ele não é “newbie friendly”, vem fazendo ótimas coisas =]

agora, pra aprender a lidar com maven… que parto! rs

Ps.: ainda temos alguns problema com o m2eclipse. Tem vezes que quando publicamos alguma coisa no app server, ele esquece de mandar os arquivos que estão na pasta de resources. Alguém já teve esse problema?

Felagund

Otima noticia pra uma sexta feira, vou testar já

M

Legal, o Netbeans já vem com um beta do Maven 3 há tempos e deixa seu uso totalmente transparente. Agora com a versão final, vai ficar 10!!

saoj

O problema do Maven é o excesso de mágica. Ele faz para BUILD SYSTEMS o que o MAKER tenta fazer para desenvolvimento web.

Tenho refletido ultimamente sobre a questão CONTROLE x MAGICA.

“However, Ant leaves you in control, but Maven will fight you forever unless you bend to its will (it’s way or the highway).” Fonte: http://stackoverflow.com/questions/80622/maven-or-ant

Minha opinião:

Se a coisa é bem feita e se você entende o que está fazendo é SEMPRE melhor ter o controle através de algo flexível. Caso contrário temos chimpanzés programando via Maker. Eu tive todo o tipo de problema com o Maven. Plugins não funcionam. A coisa é totalmente engessada. O tomcat fica louco tentando achar as dependências. m2eclipse dá pau toda hora, etc. O que as pessoas fazem é usar Maven com Ant.

O ideal é ter CONTROLE + MAGICA, como o Ruby on Rails, etc. O Maker e o Maven oferecem apenas MAGICA.

Felagund

saoj:
O problema do Maven é o excesso de mágica. Ele faz para BUILD SYSTEMS o que o MAKER tenta fazer para desenvolvimento web.

Tenho refletido ultimamente sobre a questão CONTROLE x MAGICA.

“However, Ant leaves you in control, but Maven will fight you forever unless you bend to its will (it’s way or the highway).” Fonte: http://stackoverflow.com/questions/80622/maven-or-ant

Minha opinião:

Se a coisa é bem feita e se você entende o que está fazendo é SEMPRE melhor ter o controle através de algo flexível. Caso contrário temos chimpanzés programando via Maker. Eu tive todo o tipo de problema com o Maven. Plugins não funcionam. A coisa é totalmente engessada. O que as pessoas fazem é usar Maven com Ant.

Não generalize a sua má experiencia como se fosse regra. Se você não se deu bem com o maven e prefere o ANT, muito bem. Eu só precisei até agora embutir uma task ant pra publicar um aplicativo JNLP em um servidor na rede, não achei nada no maven para copiar os arquivos. Agora no mais, o Maven supriu todas as necessidades, e nunca tive problema algum com ele.

Ataxexe

Eu tenho problemas constantes com o m2eclipse, mas aí já é pelo plugin.

Até hoje o Maven me atendeu bem, talvez porque eu não precise de muitos recursos avançados, coisa que o pessoal do Hibernate precisou e acabou migrando pro Gradle:

http://community.jboss.org/wiki/Gradlewhy

fabiozoroastro

Boa notícia.

Testarei em breve.

Luiz_Aguiar

Acho que a grande maioria odeia o Maven, e esses já procuraram outras soluções, como disse o Paulo, a menos que valha muito a pena, quem já saiu dele não deve voltar.

[]s

Rubem_Azenha

Eu gosto do Maven. O problema dele são os plugins. Cada plugin tem N dependencias, cada dependencia com outras N dependencias… demora muito tempo pra baixar tudo. E ele em si já é lento. Por muito tempo eu preferi maven, mas no fim o Ant é bem mais rápido e acaba sendo mais produtivo.

yoshikichi

Nunca tive problemas com ele.

saoj

As vezes eu acho que sou maluco. Logo é sempre bom encontrar pessoas que pensam como eu:

-Sergio

Adelar

Legal. :smiley:

Paulo_Silveira

Hoje em dia temos usado gradle em todos nossos projetos novos. Tem realmente alguns problemas (alguns bugs, lento, falta de shell) mas esta indo muito bem.

Acho que o Maven 3 vai melhorar bastante possibilitando o nao uso de xml.

fabiomedeirosf

Tenho usado maven 2 ha uns tempos, praticamente nao tenho reclamacões.

Irei avaliar esta nova versao.

wandersonxs

Nunca tive problemas com Maven, aliás é muito útil no meu dia a dia.
Irei analisar a versão 3.0.

abs

ranophoenix

wandersonxs:
Nunca tive problemas com Maven, aliás é muito útil no meu dia a dia.
Irei analisar a versão 3.0.

abs

+1

Sem querer causar flames, muitas pessoas que reclamam do Maven é na verdade por causa do m2eclipse. A integração do Maven com o Netbeans é muiiiiiito melhor, deixando quase transparente que vc está trabalhando com o Maven, inclusive, ele já vem o Maven 3 embutido (obviamente, não a versão final) já faz um tempinho.

Ataxexe

ranophoenix:
wandersonxs:
Nunca tive problemas com Maven, aliás é muito útil no meu dia a dia.
Irei analisar a versão 3.0.

abs

+1

Sem querer causar flames, muitas pessoas que reclamam do Maven é na verdade por causa do m2eclipse. A integração do Maven com o Netbeans é muiiiiiito melhor, deixando quase transparente que vc está trabalhando com o Maven, inclusive, ele já vem o Maven 3 embutido (obviamente, não a versão final) já faz um tempinho.

Verdade, tanto que citei isso no último post. O plugin m2eclipse é excelente, mas tem bugs irritantes. O pior deles é não atualizar o arquivo .classpath pra incluir a lib Maven no projeto, equipes que não conhecem bem o Eclipse acabam se perdendo e culpando o Maven por causa disso.

Assim como o NetBeans, o IntellijIDEA também possui uma integração excelente com o Maven (aliás, é difícil ver algo mediano no Intellij).

MauNunes

Luiz Aguiar:
Acho que a grande maioria odeia o Maven, e esses já procuraram outras soluções, como disse o Paulo, a menos que valha muito a pena, quem já saiu dele não deve voltar.

[]s

Existem outras soluções alem do Maven? Por favor, me dizem porque eu acho ele muito complicado.

G

Olhando este tópico me senti estranho, achei que Maven era o que havia atualmente… hehehehehe

Não tenho problemas com ele, tirando algumas dores de cabeça de conflito de “dependências de dependências”. E Quem viveu a época do “jar hell” sabe muito bem o que o Maven fez por nós…

ranophoenix

Exatamente! :smiley:

sergiolopes

Eu odeio Maven e me deu bem com o Ant mas uns scripts bash aqui e ali.

E não gosto de gerenciamento de dependência, nem com Maven nem com Ivy ou algo do tipo. Ainda está pra nascer alguém que me convença que um XML declarando um monte de JARs é mais fácil que comitar os JARs no repositório

saoj

Sergio Lopes:
Eu odeio Maven e me deu bem com o Ant mas uns scripts bash aqui e ali.

E não gosto de gerenciamento de dependência, nem com Maven nem com Ivy ou algo do tipo. Ainda está pra nascer alguém que me convença que um XML declarando um monte de JARs é mais fácil que comitar os JARs no repositório

Pensando bem, vc está coberto de razão. Pode parecer mais bonito, organizado e econômico não ter os jars no SVN, mas pela quantidade de apurrinhação que isso gera, acho que não vale a pena mesmo não.

davidbuzatto

Eu tbm não gosto do Maven.
Quando fui ver o que ele fazia, achei maravilhoso. Pensei: “nossa, que bom, agora não preciso mais ficar me preocupando com as verões dos .jars, etc.”.

Não me encomodou tanto a parte de configuração do XML, mas na hora que comecei a usar… Pelo amor!!! Achei lento demais, ele fica baixando os repositórios e mais algumas coisas irritantes como ter que ficar dependente de uma conexão com a Internet (de alta velocidade de preferência).

[]´s

aluisiodsv

Eu acho q vale bastante. Tem muitas coisas boas nele, tirando essas “apurrinhações”.
E tbm acho q se for pra comparar com o Ant o Maven ganha de 10x1.
Se não conseguiu fazer alguma coisa com o Maven é pq não achou a coisa certa. Mas tem.

M

aluisiodsv:

Eu acho q vale bastante. Tem muitas coisas boas nele, tirando essas “apurrinhações”.
E tbm acho q se for pra comparar com o Ant o Maven ganha de 10x1.
Se não conseguiu fazer alguma coisa com o Maven é pq não achou a coisa certa. Mas tem.

Fora que as ferramentas hoje em dia já deixam o trabalho do XML praticamente transparente pro desenvolvedor.

lgi2020

Eu gosto do Maven, mesmo ele insistindo que tenho que ter a web dentro da minha máquina.

Tentei usar o Ant+Ivy mas, embora tenha gostado, o costume de usar o maven me manteve com ele.

O Gradle eu não tive tempo de testar, mas pretendo fazer tão logo possa.

Vou testar o Maven 3 assim que puder.

C

Sergio Lopes:

E não gosto de gerenciamento de dependência, nem com Maven nem com Ivy ou algo do tipo. Ainda está pra nascer alguém que me convença que um XML declarando um monte de JARs é mais fácil que comitar os JARs no repositório

+1

guerios

Sergio Lopes:
Eu odeio Maven e me deu bem com o Ant mas uns scripts bash aqui e ali.

E não gosto de gerenciamento de dependência, nem com Maven nem com Ivy ou algo do tipo. Ainda está pra nascer alguém que me convença que um XML declarando um monte de JARs é mais fácil que comitar os JARs no repositório

Desculpem, mas desde quando um sentimento é uma avaliação técnica?

O Maven serve sim, pra muita coisa. Se não gosta é por que não sabe usar ou usa a ferramenta de forma errada.

Quantos Jars normalmente você usa na sua aplicação? 10 jarzinhos ?

Sistemas de pequeno e médio porte podem ser controlados via ant feito na mão.

Quero ver é alguem organizar um inferno de dependências com nightly build e testes em laboratórios de testes organizado.

E se durante o projeto tiver que atualizar uma versão de um hibernate da vida ? Atualizar versão de 2 pra 3 e etc?

E se tiver que colocar labels e tags e /ou comitar em vários branchs ? Replicar isso pra outros servidores de backup ou parar nós de Jboss em produção ? Faz como? Na mão ?

sergiolopes

Deve ser isso mesmo… o Maven é tão complicado que a chance de eu usar “errado” é alta!

Na aplicação específica que eu citei são 53 JARs

guerios:
Sistemas de pequeno e médio porte podem ser controlados via ant feito na mão.

Quero ver é alguem organizar um inferno de dependências com nightly build e testes em laboratórios de testes organizado.

Não entendi…

Baixa o JAR novo e substitui ué. Assim como você abriria o pom.xml e editaria as versões das bibliotecas

Aqui você tá dizendo de usar os outros plugins do Maven? Em geral há tasks do Ant (ou plugin Gradle, sei lá) pra várias dessas tarefas também…

guerios

Imagine a seguinte situação:

  • Sistema com mais de 100 jars
  • Você tem que gerar deploys diários com correções parciais
  • Você tem que aplicar um Label no CVS ou SVN ou GIT dessa versão
  • Você tem que fazer deploy disso em servidores de teste, homologação e produção

O Maven faz tudo isso. E ainda organiza as dependências.

ggarnier

ranophoenix:
wandersonxs:
Nunca tive problemas com Maven, aliás é muito útil no meu dia a dia.
Irei analisar a versão 3.0.

abs

+1

Sem querer causar flames, muitas pessoas que reclamam do Maven é na verdade por causa do m2eclipse. A integração do Maven com o Netbeans é muiiiiiito melhor, deixando quase transparente que vc está trabalhando com o Maven, inclusive, ele já vem o Maven 3 embutido (obviamente, não a versão final) já faz um tempinho.

Concordo. Com Eclipse prefiro usar o Maven na linha de comando do que usar o m2eclipse. A única característica do m2eclipse que considero útil é a aba dependencies, que permite verificar as dependências de cada pacote, o que ajuda muito quando temos conflito de versões.

Ataxexe

guerios:
Sergio Lopes:

Quero ver é alguem organizar um inferno de dependências com nightly build e testes em laboratórios de testes organizado
Não entendi…

Imagine a seguinte situação:

  • Sistema com mais de 100 jars
  • Você tem que gerar deploys diários com correções parciais
  • Você tem que aplicar um Label no CVS ou SVN ou GIT dessa versão
  • Você tem que fazer deploy disso em servidores de teste, homologação e produção

O Maven faz tudo isso. E ainda organiza as dependências.

O hudson também faz (e bem melhor, diga-se de passagem)! Só não organiza as dependências.

Como o Osvaldo Pinali bem disse: “O hudson começa onde o Ant e o Maven terminam”.

Recomendo (mais uma vez) a leitura deste link:

http://community.jboss.org/wiki/Gradlewhy

O Maven é bom, mas não atende uma parcela de desenvolvedores. É fato!

Luca

Olá

O Maven é um mal necessário e tem seu valor. Também acho complexo demais porque nem sempre preciso de tudo que ele faz. Mas melhor do que o Ant ele é (e já fui muito bom escrevendo scripts ant)

Meu primeiro contato com o Maven foi de grande admiração. Fiz UAU mesmo. Depois é que fui descobrindo o tamanho da encrenca.

Neste aspecto me lembra o que escreveu o Dave Podnar sobre web services em http://davidwburns.wordpress.com/2007/12/13/dave-podnars-five-stages-of-dealing-with-web-services/ :

Fase 1) Moleza, é Simple Object Access Protocol

Fase 2) OK, basta estudar XML, schemas, SOAP, WSDL, UDDI, WS-a, WS-b, WS-c, … WS-I, …WS-x, WS-156356, BP, JAXB, JAXP, JAX-WS, BP, SAAJ, seguir 17 blogs, ler uns wikis, mil páginas do livro do Monson, mais 565 do livro do Mark Hansen, SOA, ESB, mais uns poucos frameworks como AXIS, CXF, plugins do Eclipse mais uns produtos Oracle, JBoss, etc. Nada que em 7 ou 8 anos não se consiga aprender.

Fase 3) Cacildis, não sei porque esta porcaria é tão difícil

Fase 4) Todo mundo diz que está usando, devo ser eu que sou burro.

Fase 5) Ok, aceito. É complicado mesmo, burro é quem diz que é simples.

[]s
Luca

Ironlynx

Peraí, isso é alguma métrica nova de software?O número de jars influencia no que vc chama “tamanho” da aplicação?Já vi apps com meia dúzia de jars extremamente complexa e outras com dezenas que só fazem o trivial. :wink:

kina

Estava acompanhando (de longe) esse lançamento.
Costumo usar o maven nos meus projetos, até porque estou acostumado com ele.

Concordo que para aprender a usar é chato.
Só acredito que se você usar um repositório (por exemplo nexus, archiva, etc). Toda essa parte de “conexão” fica mais fácil/rapido.
Usamos na empresa o Nexus, e não vejo muitos problemas com isso.

UpTheIrons

Eu preciso usar o Arquillian, daí vi exemplos pra usa-lo utilizando o Maven nos projetos,
resolvi tentar usar o Maven 3, fiquei com dois problemas, nem o Maven funciona como
eu imaginei e fiquei mais longe do Arquillian rs

Só queria criar um projeto com o Archetype weld-jsf-jee (pra testar) e n sair do lugar ainda.

rafaduka

não sabia que o maven era odiado dessa forma. :lol:
além do Gradle e o Ant vcs utilizam o que?

Criado 8 de outubro de 2010
Ultima resposta 29 de fev. de 2012
Respostas 41
Participantes 31