Gradle 提供了幾個選項,可以很容易地配置將用于執(zhí)行您的構(gòu)建的 Java 進程。當可以通過 GRADLE_OPTS 或 JAVA_OPTS 在你的本地環(huán)境中配置這些選項時,如果某些設置如 JVM 內(nèi)存設置,Java home,守護進程的開/關,它們可以和你的項目在你的版本控制系統(tǒng)中被版本化的話,將會更有用,這樣整個團隊就可以使用一致的環(huán)境了。在你的構(gòu)建當中,建立一致的環(huán)境,就和把這些配置放進 gradle.properties 文件一樣簡單。這些配置將會按以下順序被應用(以防在多個地方都有配置時只有最后一個 生效):
下面的屬性可以用于配置 Gradle 構(gòu)建環(huán)境:
org.gradle.daemon
當設置為 true 時,Gradle 守護進程會運行構(gòu)建。對于本地開發(fā)者的構(gòu)建而言,這是我們最喜歡的屬性。開發(fā)人員的環(huán)境在速度和反饋上會優(yōu)化,所以我們幾乎總是使用守護進程運行 Gradle 作業(yè)。由于 CI 環(huán)境在一致性和可靠性上的優(yōu)化,我們不通過守護進程運行 CI 構(gòu)建(即長時間運行進程)。
org.gradle.java.home 為 Gradle 構(gòu)建進程指定 java home 目錄。這個值可以設置為 jdk 或 jre 的位置,不過,根據(jù)你的構(gòu)建所做的,選擇 jdk 會更安全。如果該設置未指定,將使用合理的默認值。
org.gradle.jvmargs 指定用于該守護進程的 jvmargs。該設置對調(diào)整內(nèi)存設置特別有用。目前的內(nèi)存上的默認設置很大方。
org.gradle.configureondemand
啟用新的孵化模式,可以在配置項目時使得 Gradle 具有選擇性。只適用于相關的項目被配置為在大型多項目中更快地構(gòu)建。
org.gradle.parallel
如果配置了這一個,Gradle 將在孵化的并行模式下運行。
許多設置(如 java 版本和最大堆大小)可以在啟動一個新的 JVM 構(gòu)建進程時指定。這意味著 Gradle 在分析了各種 gradle.properties 文件之后,必須啟動一個單獨的 JVM 進程,以執(zhí)行構(gòu)建操作。當通過守護進程運行時,帶有正確參數(shù)的 JVM 會啟動一次,并在每次的守護進程構(gòu)建執(zhí)行時復用。當不通過守護進程執(zhí)行 Gradle 時,在每次構(gòu)建執(zhí)行中都必須啟動一個新的 JVM ,除非 JVM 是由 Gradle 啟動腳本啟動的,并且恰好具有相同的參數(shù)。
在執(zhí)行每個構(gòu)建時運行一個額外的 JVM 的代價是非常昂貴的,這就是為什么我們強烈推薦您使用 Gradle 守護進程,如果你指定了 org.gradle.java.home 或 org.gradle.jvmargs。更多詳細信息,請參閱Gradle 守護進程。
配置 HTTP 代理服務器 (例如用于下載依賴) 是通過標準的 JVM 系統(tǒng)屬性來做的。這些屬性可以直接在構(gòu)建腳本中設置;例如設置代理主機為 System.setProperty ('http.proxyHost', 'www.somehost.org')?;蛘?,可以在構(gòu)建的根目錄或 Gradle 主目錄中的 gradle.properties 文件中指定這些屬性。
配置 HTTP 代理服務器
gradle.properties
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
對于 HTTPS 有單獨的設置。
配置 HTTPS 代理服務器
gradle.properties
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
我們無法很好地概述所有可能的代理服務器設置。其中可以去看的一個地方是 Ant 項目的一個文件中的常量。這里是SVN的視圖的鏈接。另一個地方是 JDK 文檔的網(wǎng)絡屬性頁。如果有人知道更好的概述,請發(fā)郵件讓我們知道。
如果您的代理服務器需要 NTLM 身份驗證,您可能需要提供驗證域,以及用戶名和密碼。有兩種方法可以向 NTLM 代理提供驗證域:
更多建議: