Tim*_*rJD 5 java hibernate jta java-platform-module-system java-9
在我的pom.xml文件中,我只有一个依赖项:
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.12.Final</version>
</dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)
还有一个module-info.java
module testmodule {
requires hibernate.jpa;
requires hibernate.core;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行我的应用程序时,我收到错误:Caused by: java.lang.IllegalArgumentException: jboss.transaction.api.1.2.spec: Invalid module name: '1' is not a Java identifier。任何想法如何处理它?
从堆栈跟踪来看,异常不是针对 hibernate-core 模块,而是针对jboss-transaction-api_1.2_spec项目中包含的
依赖项。
在1.0.1.Final依赖版本之前,无法从 jar 文件名导出自动模块名称。
这已经在 2017 年 10 月的 2.0.0.Alpha1 版本中进行了更新,现在module-info.class在 jar 中打包了一个可以从中获取模块名称的文件。
因此,您最好使用2.0.0.Alpha1带有模块名称的版本java.transaction:
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
<version>2.0.0.Alpha1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2056 次 |
| 最近记录: |