java 循环依赖_java – 如何在Gradle中解决循环依赖

我正在将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完成这个任务?我还没准备好摆脱这种技术债务.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值