Java 9,Hibernate和java.sql / javax.transaction
我试图使用Hibernate将项目“升级”到Java 9,但是我在使模块正常运行时遇到了问题。
我的module-info.java
的相关部分如下所示:
module test { ... requires java.base; requires hibernate.core; requires java.naming; }
以及我POM中的相关依赖项
-
javax.xml.bind:jaxb-api
,2.3.0 -
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
上添加依赖项,我最终会遇到冲突:
module从
java.sql
和javax.transaction.api
读取包javax.transaction.api
java.sql
和javax.transaction.api
包含不同的包,并且有一个共同的( javax.transaction.xa
), 但我需要所有这些包 。
我该如何处理? 我缺少一些简单的东西吗?
使用版本1.3而不是javax.transaction-api
的1.2,在此版本中已删除javax.transaction.xa
。
Maven依赖:
javax.transaction javax.transaction-api 1.3
- 如何解决N + 1选择问题?
- 基于Hibernate的Java Servlet应用程序中的Hibernate Communications Link失败,由MySQL提供支持
- 可以在@ManyToMany Hibernate额外表中添加额外的字段吗?
- 如何使用generics关系实现多态JPA实体
- 你有一个Hibernate实体的公共基类吗?
- Tomcat-Spring-Hibernate Web应用程序中的“PermGen out of space”exception可以做些什么?
- JPA / Hibernate:对于复合主键,@ IdClass或@EmbeddedId实现有什么好处?为什么?
- Hibernate和Serializable实体
- 支持实体 – 属性 – 值模型的Java框架