Hibernate 5 + Glassfish 4.1.1: java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf (Ljava / lang / String; I) V

Quando eu adiciono o Hibernate 5 ao meu site, não consigo trabalhar no Glassfish 4.1.1. Eu sempre recebo um erro

java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf (Ljava / lang / String; I) V

Eu tentei replace a biblioteca jboss-logging na pasta de módulos do Glassfish, como eu li em uma resposta para um problema similar, mas isso não mudou nada. Eu também tentei usar o Hibernate 4, mas isso deu um outro erro.

Tente limpar a pasta osgi-cache glassfish em seu domínio. Você pode encontrar detalhes nesta edição do Payara github: https://github.com/payara/Payara/issues/554 (Payara é um fork do Glassfish com resources adicionais, então a mecânica básica permanece a mesma do Glassfish)

No meu caso, eu estava rodando o Hibernate 5 com annotations JPA no tomcat e parei de trabalhar quando mudei para o glassfish 4.1

O erro:

hibernate.properties não encontrado

Certifique-se de que: src / main / resources / hibernate.cfg.xml exista

E se você só tem a dependência do hibernate-core, eu estava usando annotations de hibernação e hibernate-common-annotations e estava criando conflito. O hibernate 5 não precisa destes dois, eu tinha lido em algum lugar.Tente remover;)

Depois disso, um novo erro aparece:

java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf (Ljava / lang / String; I) V

O motivo era o mais antigo jboss-logging.jar em: “YOUR_GLASSFISH_FOLDER / glassfish / modules”

Por quê? O hibernate 5 tem dependência com a versão mais recente do jboss-logging, e o glassfish 4 usa a versão mais antiga, mesmo que você declare dentro de seu arquivo POM a versão mais recente. Na verdade estou usando:

org.jboss.logging jboss-logging 3.3.0.Final

Então eu baixei e substituí o antigo .jar dentro do caminho dos módulos e de volta ao trabalho, passei 2 dias tentando resolver isso e espero que ajude alguns problemas futuros = D

Eu usei este link para me ajudar: https://medium.com/@mertcal/using-hibernate-5-on-payara-cc242212a5d6#.npq2hdprz

Outra solução, no meu caso, poderia ser voltar para a última versão do Hibernate 4 (4.3.11.Final), mas já é muito antiga na minha opinião

Eu tive um problema semelhante, consegui corrigi-lo criando um arquivo glassfish-web.xml no WEB-INF . O conteúdo do arquivo é mostrado abaixo:

      

Isso garante que o glassfish não carregue suas bibliotecas internas, mas as bibliotecas do seu projeto.