java – 如何在Gradle中解决循环依赖
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在Gradle中解决循环依赖,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1124字,纯文字阅读大概需要2分钟。
内容图文
![java – 如何在Gradle中解决循环依赖](/upload/InfoBanner/zyjiaocheng/698/efb22c115f5f4cc696e1ae70bdf3ad6c.jpg)
我正在将Java项目从Ant迁移到Gradle.我认为最好的解决方案是使用Gradle的多项目支持,但我找不到摆脱循环依赖的方法.
原始项目设置为具有以下布局:
- project/
- common/
- product-a/
- product-b/
common,product-a和product-b之间的关系很棘手.常见的取决于产品-a或产品-b,具体取决于配置文件.同样,无论配置属性如何,product-a和product-b都依赖于common. product-a和product-b永远不会同时构建.
我认为一个快速的解决方案是在project / build.gradle中使用这样的东西:
project(':product-a') {
dependencies {
compile project(':common')
}
}
project(':product-b') {
dependencies {
compile project(':common')
}
}
接下来,我想到了一种方法,让它更接近于只为产品而工作.这导致我这样:
project(':common') {
dependencies {
compile project(':product-a')
}
}
这将引发具有循环依赖性的异常.
我已经考虑通过设置common和product-a / product-b所期望的类的接口或者使用多态来重构product-a和product-b,但在我推进其中任何一个之前,是否有更好的方法用Gradle完成这个任务?我还没准备好摆脱这种技术债务.
解决方法:
使用构建技巧无法解决删除循环依赖关系的问题.您将不得不重构您的模块,因此不再存在循环依赖.从你的模块名称,没有其他信息,我认为你会想要提取依赖于“product- *”的“common”部分并将其放入一个新模块中.
内容总结
以上是互联网集市为您收集整理的java – 如何在Gradle中解决循环依赖全部内容,希望文章能够帮你解决java – 如何在Gradle中解决循环依赖所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。