Problema no Hibernate 5 com o JDK 9
Eu tenho um projeto Hibernate 5 que cria e roda perfeitamente no Java 8. Tentei testá-lo no JDK 9 e na build 171. Como é um projeto enorme e tem outras dependências, tive que adicionarjava.xml.bind
módulo para a configuração da JVM para testes:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<argLine>--add-modules java.xml.bind</argLine>
</configuration>
</plugin>
Havia outros problemas que eu poderia resolver, mas se usado o módulo agregado java.se.ee (conforme recomendado):
<argLine>--add-modules java.se.ee</argLine>
Eu tenho uma exceção:
java.lang.NoClassDefFoundError: javax/transaction/SystemException
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:374)
at org.jboss.logging.Logger$1.run(Logger.java:2554)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2529)
Eu nem conseguia entender por que isso aconteceu porque a biblioteca JTA (comSystemException
class) está no caminho da classe quando os testes estavam em execução.
Alguma sugestão sobre como consertar isto?