我正在開發一個子項目,這是一個龐大的多項目Gradle構建的一部分。我需要來自這些其他子項目的一些Java類,但我不需要任何依賴關係,因爲我使用的某些庫需要這些類的不同版本。如何在Gradle構建中排除其他子項目的依賴關係?
我最初配置所需的子項目爲
compile project(':other_needed_sub_project')
然而,在這種情況下gradle eclipse
任務添加項目,項目樹。它們的依賴關係出現在類路徑中,導致我的應用程序選擇錯誤的版本。在Eclipse中,包含的項目似乎優先於指定的庫。
作爲一種有效的解決方案,我目前正在建立與現有的Maven構建所需的子項目的罐子,然後用
compile files('../other_needed_sub_project/target/dist/other_needed_sub_project.jar')
這正是我所需要的 - 沒有任何附加庫。但是這意味着在使用Gradle構建我的子項目之前,我必須運行不同的構建。
Gradle是否可以構建所需的子項目,然後在Eclipse配置中只添加對最終jar的引用?
這被認爲是是Gradle eclipse任務的錯誤行爲。這個行爲在即將發佈的2.5版Gradle發行版中得到了修復。你可能想每晚試試最新的gradle。另外,你可以在這裏找到完整的變更說明:https://github.com/gradle/gradle/commit/2f55576ebdb85e3d9122943e09ac7a5e939445f3 –