在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ 構(gòu)建環(huán)境
快速開始 Web 應(yīng)用
更多關(guān)于任務(wù)
編寫構(gòu)建腳本
守護進程
問題解決
日志
插件
總覽
快速開始 Java
教程-"This and That"
使用 Gradle 圖形化用戶界面
從 Gradle 使用 Ant
依賴管理的基礎(chǔ)
構(gòu)建環(huán)境
處理文件
構(gòu)建腳本的基本
使用 Gradle 命令行
快速開始 Groovy
安裝
介紹

構(gòu)建環(huán)境

配置構(gòu)建環(huán)境

Gradle 提供幾個選項,使它容易配置將用于執(zhí)行構(gòu)建的 Java 進程。同時可以通過 GRADLE_OPTS 或 JAVA_OPTS 配置這些在你本地環(huán)境,包含的設(shè)置包括比如 JVM 內(nèi)存設(shè)置,Java home,守護進程開/關(guān),它們可以和你的項目在你的版本控制系統(tǒng)中被版本化的話,將會更有用,這樣整個團隊就可以使用一致的環(huán)境了。在你的構(gòu)建當中,建立一致的環(huán)境,就和把這些配置放進 gradle.properties 文件一樣簡單。這些配置將會按以下順序被應(yīng)用(以防在多個地方都有配置時只有最后一個 生效)

  • 從 gradle.properties 在項目構(gòu)建 dir。
  • 從 gradle.properties 在 gradle user home.
  • 從系統(tǒng)屬性,例如當 -Dsome.property 在命令行上設(shè)置。

可以使用以下屬性來配置 Gradle 構(gòu)建環(huán)境:

org.gradle.daemon

當設(shè)置為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 目錄。這個值可以設(shè)置為 jdk 或jre 的位置,不過,根據(jù)你的構(gòu)建所做的,選擇 jdk 會更安全。如果該設(shè)置未指定,將使用合理的默認值。

org.gradle.jvmargs

指定用于該守護進程的 jvmargs。該設(shè)置對調(diào)整內(nèi)存設(shè)置特別有用。目前的內(nèi)存上的默認設(shè)置很大方。

org.gradle.configureondemand

啟用新的孵化模式,可以在配置項目時使得 Gradle 具有選擇性。只適用于相關(guān)的項目被配置為在大型多項目中更快地構(gòu)建。請參閱 Section 57.1.1.1, “Configuration on demand”.

org.gradle.parallel

如果配置了這一個,Gradle 將在孵化的并行模式下運行。

Java 進程 Forked

許多設(shè)置(如 Java 版本和最大堆大小)只能在啟動一個新的 JVM 構(gòu)建進程時指定。這意味著 Gradle 在分析了各種 gradle.properties 文件之后,必須啟動一個單獨的 JVM 進程,以執(zhí)行構(gòu)建操作。當通過守護進程運行時,帶有正確參數(shù)的 JVM 會啟動一次,并在每次的守護進程構(gòu)建執(zhí)行時復(fù)用。當不通過守護進程執(zhí)行 Gradle 時,在每次構(gòu)建執(zhí)行中都必須啟動一個新的 JVM ,除非 JVM 是由 Gradle 啟動腳本啟動的,并且恰好具有相同的參數(shù)。

在執(zhí)行每個構(gòu)建時運行一個額外的 JVM 的代價是非常昂貴的,這就是為什么我們強烈推薦您使用 Gradle 守護進程,如果你指定了org.gradle.java.home 或 org.gradle.jvmargs。更多詳細信息,請參閱守護進程。

通過代理訪問 web

配置 HTTP 代理服務(wù)器 (例如用于下載依賴) 是通過標準的 JVM 系統(tǒng)屬性來做的。這些屬性可以直接在構(gòu)建腳本中設(shè)置;例如設(shè)置代理主機為System.setProperty ('http.proxyHost', 'www.somehost.org')。或者,可以在構(gòu)建的根目錄或 Gradle 主目錄中的 gradle.properties 文件中指定這些屬性。

xample 20.1. Configuring an HTTP proxy

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 有單獨的設(shè)置。

Example 20.2. Configuring an HTTPS proxy

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

我們無法很好地概述所有可能的代理服務(wù)器設(shè)置。其中可以去看的一個地方是 Ant 項目的一個文件中的常量。這里是Subversion 的視圖的鏈接。另一個地方是 JDK 文檔的Networking Properties(網(wǎng)絡(luò)屬性)。如果有人知道更好的概述,請發(fā)郵件讓我們知道。

NTLM 身份驗證

如果您的代理服務(wù)器需要 NTLM 身份驗證,您可能需要提供驗證域,以及用戶名和密碼。有兩種方法可以向 NTLM 代理提供驗證域:

  • 將 http.proxyUser 系統(tǒng)屬性設(shè)置為一個這樣的值:域/用戶名。
  • 通過 http.auth.ntlm.domain 系統(tǒng)屬性提供驗證域。