Ich habe versucht, Hibernate 5.2.11 Anwendung in Java 9/Frühjahr Boot-1.5.x/Maven Projekt laufen, aber ich fehlende Klasse bin Fehler:Hibernate, Java 9 und Systemexception
Caused by: java.lang.NoClassDefFoundError: javax/transaction/SystemException
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:375)
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)
at org.jboss.logging.Logger.getMessageLogger(Logger.java:2516)
at org.hibernate.internal.HEMLogging.messageLogger(HEMLogging.java:28)
at org.hibernate.internal.HEMLogging.messageLogger(HEMLogging.java:24)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<clinit>(EntityManagerFactoryBuilderImpl.java:115)
at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:54)
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:353)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:370)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:359)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
... 33 more
Hat Jeder ist auf diese Ausnahme gestoßen und kennt einen Workaround? Ich habe versucht, --add-modules
für javax.bind oder java.se.ee hinzuzufügen, aber sie haben nicht geholfen.
Der obige Fehler wird in einem mavan-failsafe (2.20.1) Integrationstest angezeigt, der den Spring-Kontext mit Hibernate startet. Die Anwendung hat keinen Java 9-spezifischen Code.
verwendet I Failsafe-2.20.1 –
Ich weiß nichts über das Failsafe-Plugin, aber es gab vor kurzem eine Änderung am todsicheren Plugin, wo es geändert wurde, um '--add-modules java.se.ee' zu verwenden, genau das Falsche, wenn man versucht, ein Standardmodul mit der Java EE-Version der Komponente. Es gibt ein Problem, das dies für das todsichere Plugin verfolgt (https://issues.apache.org/jira/browse/SUREFIRE-1424). –
@AlanBateman Danke, komischerweise scheitert es mit javax.xml.bind im Falle von 2.20 (und 2.19.1) obwohl ich '--add-modules java.xml.bind' hinzugefügt habe –