java 循环依赖_java – 如何在Gradle中解决循环依赖
我正在將Java項(xiàng)目從Ant遷移到Gradle.我認(rèn)為最好的解決方案是使用Gradle的多項(xiàng)目支持,但我找不到擺脫循環(huán)依賴的方法.
原始項(xiàng)目設(shè)置為具有以下布局:
- project/
- common/
- product-a/
- product-b/
common,product-a和product-b之間的關(guān)系很棘手.常見的取決于產(chǎn)品-a或產(chǎn)品-b,具體取決于配置文件.同樣,無論配置屬性如何,product-a和product-b都依賴于common. product-a和product-b永遠(yuǎn)不會(huì)同時(shí)構(gòu)建.
我認(rèn)為一個(gè)快速的解決方案是在project / build.gradle中使用這樣的東西:
project(':product-a') {
dependencies {
compile project(':common')
}
}
project(':product-b') {
dependencies {
compile project(':common')
}
}
接下來,我想到了一種方法,讓它更接近于只為產(chǎn)品而工作.這導(dǎo)致我這樣:
project(':common') {
dependencies {
compile project(':product-a')
}
}
這將引發(fā)具有循環(huán)依賴性的異常.
我已經(jīng)考慮通過設(shè)置common和product-a / product-b所期望的類的接口或者使用多態(tài)來重構(gòu)product-a和product-b,但在我推進(jìn)其中任何一個(gè)之前,是否有更好的方法用Gradle完成這個(gè)任務(wù)?我還沒準(zhǔn)備好擺脫這種技術(shù)債務(wù).
總結(jié)
以上是生活随笔為你收集整理的java 循环依赖_java – 如何在Gradle中解决循环依赖的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: java包装器类_Java中的基本类型和
- 下一篇: java 更新ui_你怎么解决Andro
