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?
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.
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?
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.
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.
[/quote]
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.
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:
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.
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.
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.