我的 Gradle 專案中目前有 3 個子專案,結構如下:
Main Project
|
-- Project A
-- Project B
-- Common Src
專案 A 依賴于 Lib A 和 Common Src,專案 B 依賴于 Lib B 和 Common Src。Lib A 和 Lib B 包含相同類的不同實作。
我對 Common Src 專案的計劃是容納所有實用程式類,必須依賴于 Lib A 和 Lib B。
有沒有辦法設定它,我的 gradle 專案應該是什么樣的?
我嘗試過的事情:
- 我試圖將 Common Src 作為子專案洗掉,并將其包含在專案 A 和專案 B 的源集中。 然而,IntelliJ 似乎將 Common Src 標記為專案 A 的源根,即使構建通過 gradle 作業,我無法讓 IntelliJ 識別出專案 B 在 Common Src 中也有源根。
- 將 Lib A 和 Lib B 添加到 Common Src 的依賴項中,但顯然這不起作用。
背景:
我創建了一個與 Forge(專案 A)和 Fabric(專案 B)模塊加載器兼容的 Minecraft mod。我在兩個專案中都有實用程式類,它們具有相同的源代碼但需要編譯兩次,每次都有不同的依賴項。我不想每次要更改 Utility 類中的某些內容時都必須撰寫兩次代碼。
uj5u.com熱心網友回復:
編輯:我找到了一個解決方法:
- 在
Project A和 中Project B,在它們的每一個中添加一個任務build.gradle來將源檔案復制Common Src到每個專案的構建目錄中。 - 配置
sourceSets兩者Project A并Project B包括從構建的源檔案的檔案夾,我們只是復制到 - 配置
Common Src為 gradle 子專案,并將Lib A(或Lib B)添加到Common Src(只是為了獲取 IntelliJ 一些背景關系)的依賴項
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/384496.html
