Exercício 16.6 Caelum - Integração do Spring com JPA - Dicas [Resolvido]

Tentei fazer o exercício 16.6 da apostila FJ-21 da Caelum e me deparei com vários problemas. Consegui contorná-los e gostaria de compartilhar com vocês a solução que adotei.

  • O primeiro erro era o “org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory” (esta mensagem era exibida na console do Eclipse)
    Resolvi este problema excluindo o arquivo dom4j-1.6.1.jar da pasta WEB-INF/lib do projeto.
    Sem esse jar, a aplicação web funciona perfeitamente.
    Esse arquivo é necessário apenas para rodar (run as Java Application) as classes do capítulo 14 da apostila. Elas não rodam sob o Tomcat ou o Wildfly.

  • O segundo erro era o "The prefix ‘tx’ for element ‘tx:annotation-driven’ is not bound.” (esta mensagem também era exibida na console do Eclipse)
    A solução foi alterar o conteúdo do arquivo WEB-INF/spring-context.xml para o seguinte:

JPA-spring-context.xml (2,4 KB)

  • Os demais erros (e foram muitos) estavam todos relacionados com a versão dos arquivos jar constantes da pasta WEB-INF/lib.
    A solução foi atualizar a versão de vários deles.
    A lista completa está na imagem a seguir.

Espero ter ajudado.