[英]How do I add a project as JAR as a dependency of another project? (Gradle)
[英]How to stop a project dependency being replaced by another project in Gradle?
我有一個多項目安裝程序,我正在將一個項目定義為build.gradle文件中的依賴項。 但是該項目將被相同層次結構中的另一個項目替換。 如何阻止這種情況的發生?
考慮項目結構為:
A/B/C1/D/src
A/B/C2/D/src
在C1 / D內的build.gradle文件中,我已將項目C2 / D定義為依賴項。 但是隨后在調用構建任務時,依賴關系C2 / D被C1 / D替換,這導致以下錯誤:
Circular dependency between the following tasks:
:B:C1:D:compileJava
\--- :B:C1:D:compileJava (*)
如果我調用:C1:build
則構建運行良好,但是在調用構建任務時會出現錯誤。
在運行:B:C1:D:dependencies
我可以看到以下內容:
+--- project :B:C2:D -> project :B:C1:D (*)
我該如何阻止這種情況的發生?
由於簽名(帶有包的類名)是相同的,因此gradle在構建任務中從同一項目中獲取代碼。 我建議在兩個項目中為代碼使用不同的名稱(例如impl
infix)。
否則,您需要擁有大量資源(時間和意願),並為資源明確使用單獨的類加載器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.