这是我第一个使用Quarkus的项目。
我做了一个多模块项目,在父pom中我有这样的模块结构:
<modules>
<module>domain</module>
<module>application</module>
<module>client</module>
</modules>
在我的domain
模块中,我有我的接口,这些接口应该由application
和client
模块实现。因此,我在application
和client
模块中添加了<dependency>
,用于实现domain
接口。
但是当我想在我的domain
中添加application
模块的<dependency>
时,它不起作用,当我构建时,我遇到了这个错误:
[错误] [错误]React器中的项目包含循环指涉:“顶点{label ='com.test.name:application:0.0.1-SNAPSHOT'}”和“顶点{label ='com.test.name:domain:0.0.1-SNAPSHOT'}”之间的边在图形中引入了循环com.test.name:domain:0.0.1-SNAPSHOT --〉com.test.name:application:0.0.1-SNAPSHOT --〉com.test.name:domain:0.0.1-SNAPSHOT @ [错误]React器中的项目包含循环引用:在“顶点{标签=”com.test.name:应用程序:0.0.1-快照“}”和“顶点{标签=”com.test.name:域:0.0.1-快照“}”之间的边引入了图中的循环com.test.namecom.test.namecom.test.name
我需要这个来进行依赖注入,我的CDI容器需要找到实现来注入它。有人有解决方案吗?
1条答案
按热度按时间kmpatx3s1#
我喜欢的项目结构大致如下:
domain
模块。它们可以是细粒度的,也可以是粗粒度的,这取决于您的设计要求。例如app-service-interfaces
(例如,业务逻辑的接口)、app-dao-interfaces
(DAO层的接口)等。app-service-impl
依赖于并实现app-service-interfaces
模块。而且还依赖于app-dao-interfaces
模块,因为它需要访问应用程序的数据存储设施。如果我选择对DAO层使用JPA,app-dao-interfaces
的实现可能是app-dao-jpa
。保持接口模块不依赖于用于实现它们的实际技术,这允许您轻松地切换实现。)2条最终意见: