具有相同软件包的Java模块自动模块

问题描述 投票:2回答:1

我使用Hibernate开发JavaFX应用程序以进行数据库访问,但遇到了一个问题:我的模块-info.java中有以下自动模块:

requires org.hibernate.orm.core; ( org.hibernate:hibernate-core:5.4.12.Final)
requires sqlite.dialect; (com.zsoltfabok:sqlite-dialect:1.0)

他们都有相同的软件包“ org.hibernate.dialect”,由于被禁止,我该怎么办才能解决此问题?我当然可以将项目更改为不使用模块,并使用jpackage将其打包为常规的胖子。但是我想继续模块化。谢谢。

java hibernate javafx java-module jigsaw
1个回答
0
投票

sqlite-dialect使用与hibernate-core相同的软件包,这是访问外部软件包私有成员的肮脏(我认为)解决方法,或者如果没有访问软件包私有成员(我尚未检查),则完全没有必要。您可以将sql-dialect的派生名称更改为包名称(例如com.zsoltfabok.hibernate.dialect.sqllite),请尝试它是否有效以及是否确实使用派生名称(并创建对原始存储库的拉取请求)。

© www.soinside.com 2019 - 2024. All rights reserved.