migliorabile ha scritto:
@LeleFT, tanto per dire NON HAI CAPITO il problema!
StaticLoggerBinder NON E' PARTE di java.* o javax.*, o com.sun.*, quindi NON FA PARTE DI OpenJDK, ma e' una libreria di terze parti!
In realtà il problema l'ho capito benissimo e ti garantisco che non c'entra nulla il fatto che tale classe non faccia parte della java.* o quel che vuoi (non voglio diventare antipatico, ma qualche decennio di esperienza alle spalle ce l'ho).
Il vero problema è che c'è un comportamento diverso da parte di Hibernate a seconda della JVM usata: se viene usata la JVM di Oracle, in mancanza della libreria SLF4J Hibernate utilizza in default una implementazione NO-OP di tale libreria di logging (presente al suo interno e documentata). Lo stesso non accade se si usa la OpenJDK, quindi Hibernate (in questo caso) tenta di caricare una libreria che non esiste.
Questo dovrebbe essere sufficiente a capire una cosa importante: Hibernate non è un prodotto sotto il mio controllo (non lo produco io), se uso una determinata versione di quella libreria, mi aspetto che funzioni secondo quanto riportato nella documentazione relativa (a meno di bugs, ovvio). In questo caso c'è un evidente comportamento differente della libreria (quindi non del mio software) a seconda della JVM usata (ora, non mi interessa nemmeno sapere se questa cosa è segnalata o meno nella documentazione di Hibernate, ripeto: non è un problema). Credo (è una mia supposizione) che ci sia qualcosa nella JVM di OpenJDK che fa sì che alla libreria venga data un'informazione errata, con le conseguenze che ho potuto vedere.
La mia domanda in questa discussione era: "a qualcun altro è capitato qualcosa di simile?" ovvero, di avere un'applicazione Java perfettamente funzionante su una JVM di una determinata famiglia e notare che lo stesso non accade se si viene ad usare una JVM di una famiglia diversa che dovrebbe essere "compatibile"?
Io ho constatato questo, ne prendo atto e vado avanti come sempre... nessun problema.
PS: potrebbe anche essere un bug della libreria Hibernate (è vecchia quella che viene usata da quel programma e probabilmente nelle versioni successive può essere stato corretto).