我有一個Hibernate 5項目,可以在Java 8上完美地構建和運行。我試圖在JDK 9 ea build 171上測試它。 由於它是一個龐大的項目並且有其他依賴關係,我必須添加java.xml.bind
模塊到JVM配置測試:JDK 9發生Hibernate 5問題
<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>
有,我可以解決,但如果使用的凝集模塊java.se.ee(推薦)其他事項:
<argLine>--add-modules java.se.ee</argLine>
我得到了一個例外:
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)
我甚至不明白爲什麼會發生這種情況,因爲JTA庫(SystemException
類)在運行測試時位於類路徑中。
有關如何解決此問題的任何建議?
JDK 9尚不穩定,並建立它是不保證。事實上,他們在JDK 9下自動構建並禁用了它,因爲API尚未準備好,它只是在郵件中發送垃圾郵件。 – coladict