[英]Java 9, Hibernate and java.sql/javax.transaction
我試圖使用Hibernate將項目“升級”到Java 9,但是我在使模塊正常運行時遇到了問題。
我的module-info.java
的相關部分如下所示:
module test {
...
requires java.base;
requires hibernate.core;
requires javax.transaction;
requires java.sql;
}
以及我POM中的相關依賴項
org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec
,2.0.0.Alpha1 org.hibernate:hibernate-core
,5.2.12.Final javax.transaction:javax.transaction-api
,1.2 問題是,如果我運行程序,我得到javax.transaction.SystemException
的NoClassDefFoundError
。 我調查了這個,很明顯, 我的模塊缺少javax.transaction
的requires
。
所以我在javax.transaction-api
上添加了一個模塊依賴。 然后我繼續嘗試再次運行程序 - 現在我缺少java.sql.SQLException
。
這是我遇到的問題:如果我在包含這個類的模塊java.sql
上添加一個依賴項,我最終會發生沖突:
模塊讀取包
javax.transaction.xa
從兩個java.sql
和javax.transaction.api
java.sql
和javax.transaction.api
包含不同的包,並且有一個共同的( javax.transaction.xa
), 但我需要所有這些包 。
我該如何處理? 我有什么簡單的遺失嗎?
使用版本1.3而不是javax.transaction-api
的1.2,在此版本中已刪除javax.transaction.xa
。
Maven依賴:
<dependency>
<groupId>javax.transaction</groupId>
<artifactId>javax.transaction-api</artifactId>
<version>1.3</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.