Começando com Apache Maven em projetos Java

Postado por em   ●   52 comentários

Eu já vi muitas pessoas com medo do Apache Maven. É sério, mas isso passa… tem cura. :)

Quando você aprender a dominar o Maven, tenho certeza que sua vida será outra! Você vai viciar, não conseguirá iniciar um projeto sem ele.

Nessa vídeo aula você vai aprender a criar um projeto web com Maven, entender sua estrutura de pastas, analisar o pom.xml e ainda importar um projeto existente do GitHub.

Acesse o código-fonte do projeto:
https://github.com/algaworks/aula-comecando-com-maven

Instrutor da AlgaWorks. Graduado em Engenharia Elétrica pela Universidade Federal de Uberlândia e detentor das certificações LPIC-1, SCJP e SCWCD. Palestrante internacional, autor e co-autor de livros e instrutor de cursos de Java, JPA, TDD, Design Patterns, Spring, etc.

52 comentários sobre “Começando com Apache Maven em projetos Java

  1. Salomão -

    Realmente o Maven é uma mão na roda. Eu mesmo tive resistência em usar no começo. Só o fato de não precisar ficar catando jar por aí já compensa o uso. Tô atrás de um tutorial para criar meu próprio archetype, com estrutura de pacotes e tudo.

    1. Normandes Júnior Autor do post-

      Oi Salomão.

      Verdade, acho que todo mundo resistiu no início. hehe

      Vou deixar anotado a sugestão aqui do archetype, quem sabe não surge um vídeo sobre isso também.

      Abraço.

  2. Wandesson -

    Maravilha de vídeo! Seria ótimo se tivesse um também sobre archetype… =)

    1. Normandes Júnior Autor do post-

      Valeu Wandesson.

      Vou deixar anotada a sugestão. :)

  3. Diego Costa -

    Parabéns pelo vídeo muito bom! Realmente eu também tive um pouco de receio ao começar a trabalhar com o Maven, mas no meu caso foi a quantidade de pequenos erros que tinha no plugin do Maven para o eclipse. Depois que aprendi a contornar esses erros facilitou muito a minha vida. Nessa versão do eclipse eu ainda não testei, mas acho que já devem ter resolvido esses questões. E quanto a sugestão dada pelo Salomão seria legal se vocês fizessem um vídeo falando como criar seu próprio archetype.

    1. Normandes Júnior Autor do post-

      Valeu Diego.
      Sim, o plugin do Maven para o Eclipse melhorou muito nos últimos anos, vale a pena testar.
      Sugestão anotada, ganhou mais um ponto. :)
      Abraço.

  4. Danilo Victor -

    Eu nunca utilizei o Maven, o vídeo é ótimo, mas achei que não estava preparado para ver esse vídeo.
    Mas para quem tem uma certa experiência em Java creio que foi bastante produtivo.

    1. Normandes Júnior Autor do post-

      Obrigado Danilo.
      É, para usar o Maven já tem que conhecer um pouco de Java, espero que em breve você possa aproveitar mais.
      Abraço.

  5. Romilson -

    Tenho uma dúvida a respeito do maven, como configurar para busca no repositório local? Pois as vezes estou sem net.

    1. Normandes Júnior Autor do post-

      Olá Romilson.
      Para você forçar o Maven a buscar somente no repositório local, você precisa dizer a ele rodar offline. É bem simples, na linha de comando adicione -o, assim:
      mvn -o clean install por exemplo.
      No Eclipse, quando criar a tarefa de execução, terá um checkbox “Offline”, é só marcá-lo e mandar rodar.
      Abraço.

  6. Sandra -

    Nossa excelente aula, a maior parte do conhecimento que tenho são graças as aulas de vocês, parabéns!

    1. Normandes Júnior Autor do post-

      Obrigado Sandra. Que bom que estamos te ajudando. :)

  7. Raul dias -

    Parabéns mesmo Normandes Jr, show de bola seus videos, são sempre claros e objetivos.

    1. Normandes Júnior Autor do post-

      Obrigado Raul. :)

  8. João Faro -

    Muito bom o vídeo Normandes. No caso da geração do arquivo .war, eu posso gerar ele através do export -> file war ??

  9. João Faro -

    Normandes, tenho outra dúvida…E no caso da configuração do Project Facets no menu do Maven?? Quando eu marco a opção “Dynamic web module” ele muda o ambiente do Project explore, até ai tudo bem….Dai quando marco a opção “JavaServerFaces” ele pede para que eu configure o caminho do jar e tal…só que no maven eu já havia incluído em minhas dependências o jar do Mojarra 2.2.10. Daí acabou ficando um arquivo jar no maven dependecies e outro que eu tive que criar….Como funciona isso? Qual a maneira mais correta de criar esse projeto web com maven?

    OBS: Essa opção de configurar o Project Facets eu li no livro do Thiago Faria sobre Java EE. Dai ele já organiza as pastas de uma maneira diferente da que você citou no vídeo.

    1. Normandes Júnior Autor do post-

      Oi João, já baixou a versão nova da apostila? Lá o Thiago configura usando o Maven.

  10. Paulo Gomes -

    Parabéns Normandes, mais um vídeo incrível que você disponibilizou pra nós.

    Eu tive problemas ao gerar o war, quando eu coloco os dois goals (clean install) ocorre erro. Eu consegui gerar o war mas colocando apenas o goal install.

    Quando eu uso os dois goals (clean install) eu recebo o erro abaixo:

    [INFO] BUILD FAILURE
    [INFO] ————————————————————————
    [INFO] Total time: 1.896 s
    [INFO] Finished at: 2015-04-25T21:08:55-03:00
    [INFO] Final Memory: 9M/108M
    [INFO] ————————————————————————
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project projeto-web: Compilation failure
    [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
    [ERROR] -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

  11. Robson Henrique -

    Excelente vídeo! Seria muito interessante um vídeo sobre criar seu próprio archetype como sugerido.

    1. Normandes Júnior Autor do post-

      Obrigado Robson. Sugestão ganhou mais pontos. :)

  12. Camillo Targas -

    Parabéns pelo vídeo, pela clareza e objetividade das explicações!!!

    1. Normandes Júnior Autor do post-

      Obrigado Camillo.

  13. JV -

    Olá Normandes

    Queria tirar uma dúvida, eu tava fazendo um projeto, e mudei o pom.xml para alterar a versão do primefaces do 3.5 para 5.0, e o projeto começou a dar erro nas classes de LazyDataModel.
    Existe alguma incompatibilidade na versão 5.0?

  14. Fabio -

    Oi Normandes,

    Achei o video muito bom!

    Duas sugestoes sobre temas como voce pediu:
    1 – Poderiam ser sobre JUNIT: Como fazer casos de teste unitario (e sendo executado pelo maven na instalação do projeto)

    2 – Tratamento de erro/log: Qual a melhor pratica para tratar erro num projeto e/ log? Quando tratar o erro local ou quando dar um throw?

    Obrigado,

    Fabio

    1. Normandes Júnior Autor do post-

      Valeu Fabio. E obrigado pelas sugestões, estão anotadas aqui.

  15. Müller Junio -

    Ótimo, gostei muito, já tenho contato com maven a um tempo mas gostei muito da aula, parabéns.

    1. Normandes Júnior Autor do post-

      Legal Müller, obrigado.

  16. Elias Mendes -

    Parabéns pelo vídeo me ajudou bastante em algumas dúvidas!!!

    1. Normandes Júnior Autor do post-

      Olá Elias.

      Que bom que te ajudou, obrigado.

  17. Fábio -

    Oi Normandes,
    A algaworks é sensacional!
    você poderia fazer um video de como gerar archetypes com o maven.

    sucesso.

    1. Normandes Júnior Autor do post-

      Valeu Fábio.
      Já está no roadmap um vídeo assim. :)
      Abraço.

  18. Leonardo -

    Opa! Parabens, muito boa video aula. Porem o meu está dando um erro, na linha 6 do POM, sempre que eu crio um projeto em war, ele da um erro, não sei mais o que eu faço. “web.xml is missing and is set to true. O que seria isso?

  19. Felipe -

    Parabéns Normandes e toda equipe da algaworks!!!!

    1. Normandes Júnior Autor do post-

      Valeu Felipe.

  20. Romilson Lemes -

    Oi Normande.
    Fui tentar adicionar o UTF8 ao código do POM e e não consegui ver como vc adicionou automaticamente ao código. No video não dá para ver isso.

    Você pode me falar como é a adicção deste código?

    OBS:
    Estou utilizando o Eclipse IDE for Java Developers
    Version: Mars.2 Release (4.5.2) no Windows 10.

    Obrigado.

    1. Normandes Júnior Autor do post-

      Olá Romilson.
      Use o Eclipse IDE for Java EE Developers. Não foi nada automático não, eu que digitei a parte do UTF-8.

  21. helder -

    Realmente o Maven é uma mão na roda. Agora meus Projetos Java é só com Maven

  22. Marlise -

    Oi!!!!

    Gostei do vídeo, muito bacana, mas gostaria de saber como usar o JBoss com um projeto maven?

  23. Aristézio -

    Boa noite Normandes,
    Como você demonstra, ao salvar as alterações iniciais o projeto fica em vermelho. Realizei o mesmo procedimento indicado no vídeo, contudo, mesmo com o update no projeto, a JRE System Library, permanece [J2SE-1.5]. Falta algum procedimento nas opções do Eclipse?

    1. Normandes Júnior Autor do post-

      Olá Aristézio.

      Tente instalar a versão mais nova do Java e inicie o Eclipse usando-a, talvez possa ser isso.

  24. Estephani -

    Caramba! Parabéns Algaworks !!!
    Me ajudou muito, li vários tutoriais mas nenhum chegou perto de me explicar tao simples e bem como você fez. Agradeço pela ajuda.

    1. Normandes Júnior Autor do post-

      Que bom Estephani! Muito feliz que tenha aprendido. ;)

  25. Kleberson Santos -

    Boa Noite!
    Como faço para copiar um projeto já existente e usá-lo como inicio de um outro mudando o nome. Já procurei em varios tutorias ensinado a copiar a pasta no workspace, outro ensinando a copiar dentro do eclipse… Tentei de todas as formas mas o principal que é as dependencias (Java8, Facesconfig, Webxml e Pomxml) não é reconhecida. Já tentei editar manualmente mas mesmo assim o programa não roda. Erro 404.

  26. Joabe -

    Gostei muito.
    Mas deu o seguinte erro. Pode me ajudar?
    Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project projeto-web: Compilation failure
    [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?

  27. Raniel -

    show de bola, parabéns!

  28. O que é Spring Data JPA? -

    […] No final do artigo vou disponibilizar o código-fonte pra você, mas vou adiantar aqui o que é necessário criar para seguir com os exemplos que irei mostrar. Lembrando que é um projeto Maven. […]

  29. Vinicius -

    Boa Tarde,

    Baixei esse projeto pra rodar, contudo ele sempre apresenta o erro: “Caused by: javax.el.PropertyNotFoundException: Target Unreachable, identifier ‘exemploBean’ resolved to null
    at org.apache.el.parser.AstValue.getTarget(AstValue.java:74)
    at org.apache.el.parser.AstValue.getType(AstValue.java:58)
    at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:168)
    at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
    … 43 more”

Deixe um comentário