2017-02-12 132 views
5

爲了清楚起見:這不是關於多個版本的依賴關係,而是關於Gradle自己的jar的多個版本。Gradle多個版本的GRADLE

我認爲this可能有答案......但沒有任何!

這是Gradle 2.14,帶有Windows 10操作系統。

我發現gradle不斷在這個項目的「.gradle \」目錄下建立一個新的目錄:除了合法的「2.14 \」目錄外,它還一直在建立一個「2.2.1 \」目錄。

我看了看我的目錄下安裝搖籃底下,令人困惑的是我發現的搖籃的jar文件的多個版本:不僅是2.14,但2.13,1.7,是的,2.2.1 ..

所以我決定手動刪除2.2.1。罐子。它停止構建「虛假」​​2.2.1目錄。

有人能告訴我Gradle是如何決定使用哪個版本的?我真的很想擺脫那些非2.14的罐子,並找到一種方法來防止其他版本以某種方式爬回來!

+1

[gradle docs](https://docs.gradle.org/current/userguide/gradle_wrapper.html)建議將gradle包裝保留在源代碼旁邊,以確保項目用戶始終能夠使用預期的版本。你可以用'gradle wrapper'來初始化它。之後,IDE可以配置爲始終使用gradle包裝器或在控制檯上使用'gradlew'。 – ldz

+0

謝謝你的指針。我會仔細閱讀。 –

回答

4

有人能告訴我Gradle如何決定它使用的是哪個版本?

這取決於你如何調用gradle。

方法1. A gradle命令將調用GRADLE_HOME路徑中的gradle版本。

方法2:使用gradle wrapper

一個gradlew命令將調用這是在項目的gradle\wrapper\gradle-wrapper.properties文件中進行配置,如果它已經存在gradle這個版本。如果它不是,you can create itgradle wrapper --gradle-version 3.3。現在,當您使用gradlew時,它將始終使用gradle版本3.3。

建議使用gradle包裝,這樣您就可以在安裝的gradle版本可能不同的不同機器上始終如一地重現相同的版本,甚至可以在未安裝gradle的機器上重新生成相同的版本,因爲將使用gradlew.bat和gradlew在Windows和Linux上分別用於引導構建。

您在.gradle目錄中發現多個Gradle版本的原因可能是因爲之前您可能試圖用這些版本爲Gradle構建。

+0

有幫助,謝謝。 –