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完成這個任務?我還沒準備好擺脫這種技術債務.
總結
以上是生活随笔為你收集整理的java 循环依赖_java – 如何在Gradle中解决循环依赖的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java包装器类_Java中的基本类型和
- 下一篇: java的队列_java实现队列