2016-11-24 144 views
2

使用Gradle下載依賴時,它似乎排除了可選的依賴關係。例如,我包括番石榴:如何讓Gradle自動下載可選的依賴關係?

compile 'com.google.guava:guava:19.0' 

,並沒有在這裏下載列出的可選依賴關係:https://mvnrepository.com/artifact/com.google.guava/guava/19.0

我一直在學習搖籃和移植遺留應用程序使用的搖籃。該應用程序有一個Python腳本包裝器,它總是下載可選的依賴關係,而且我在這裏碰到了一堵牆。

回答

0

按照Maven的Optional Dependencies的描述:

如果用戶想要使用相關的可選依賴功能,它們將不得不重新聲明在自己的項目,可選的依賴。

如果您想使用一些傳遞的可選依賴項,您必須手動聲明它們,Gradle與Maven具有相同的行爲。

您可以嘗試找到一些解決方法,但無論如何,它似乎有點奇怪,默認情況下包含所有可選的依賴關係,甚至不檢查它們是否真的需要。當然,您可以嘗試移植您的邏輯,以使用Gradle運行現有的Python腳本,將所有可選的依賴項收集到本地目錄中,並將其聲明爲file dependencies