<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 19.1\. Enter the daemon 走進守護進程 Gradle 守護進程(有時也稱為構建守護進程) 的目的是改善 Gradle 的啟動和執行時間。 我們準備了幾個守護進程非常有用的用例。對于一些工作流,用戶會多次調用 Gradle,以執行少量的相對快速的任務。舉個例子: * 當使用測試驅動開發時,單元測試會被執行多次。 * 當開發一個 web 應用程序中,應用程序會被組裝多次。 * 當發現構建能做什么,在 gradle tasks 在哪里會執行多次。 對以上各種工作流來說,讓調用 Gradle 的啟動成本盡可能小會很重要。 此外,如果可以相對較快地建立 Gradle 模型,用戶界面可以提供一些有趣的功能。例如,該守護進程可能用于以下情形: * 在 IDE 中的內容幫助 * 在 GUI 中的實時可視化構建 * 在 CLI 中的 tab 鍵完成 一般情況下,構建工具的敏捷行為總是可以派上用場。如果你嘗試在你的本地構建中使用守護進程的話,它會變得讓你很難回到正常的 Gradle 使用。 Tooling API (參見?[Chapter 63\. Embedding Gradle 嵌入 Gradle](https://github.com/waylau/Gradle-2-User-Guide/blob/master/Chapter%2063.%20Embedding%20Gradle%20%E5%B5%8C%E5%85%A5%20Gradle.md)) 在整個過程當中都使用守護進程。如,你無法在沒有守護進程時正式地使用 Tooling API。這意味著當您在 Eclipse中使用 STS Gradle 或在 Intellij IDEA 中使用 Gradle 支持時,您已經在使用 Gradle 守護進程。 未來,該守護進程還會提供更多的功能: * 敏捷的 up-to-date 檢查:使用本地文件系統修改通知(例如,通過 jdk7 nio.2)預先執行 up-to-date 分析。 * 更快的構建: 預評估項目,這樣當用戶接下來調用 Gradle 時,模型就準備好了。 * 我們提到了更快的構建嗎?守護進程可以預先下載依賴項或進行快照依賴的新版本檢查。 * 使用可用于編譯和測試的一個可復用線程池。例如,Groovy 和 Scala 的編譯器啟動開銷都很大。構建守護進程可以維持一個已下載的 Groovy 和 (或) Scala 進程。 * 預先執行某些任務,比如編譯。更快的反饋。 * 快速、 準確的 bash 的 tab 鍵完成。 * Gradle 緩存的定期垃圾收集。 ## [](https://github.com/waylau/Gradle-2-User-Guide/blob/master/Chapter%2019.%20The%20Gradle%20Daemon%20%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B.md#192-reusing-and-expiration-of-daemons-重用和失效的守護程序)19.2\. Reusing and expiration of daemons 重用和失效的守護程序 基本的思想是, gradle 命令會 fork 一個守護進程,用于執行實際的構建。Gradle 命令的后續調用將重用該守護進程,以避免啟動開銷。有時我們不能使用現有的守護進程,是因為它正忙或其 java 版本或 jvm 參數不同。關于fork一個完全新的守護進程的具體細節,請閱讀下面的專題。守護進程將在空閑3小時后自動失效。 以下是我們 fork 一個新的守護進程的所有情況: * 如果該守護進程當前正忙于運行一些作業,將啟動一個全新的守護進程。 對每個java home,我們會fork一個單獨的守護進程。所以即使有一些閑置的守護進程等待構建請求,但你碰巧通過不同的 java HOME 運行構建,那么一個全新的守護進程將會被 fork。 * 如果用于構建的 jvm 的參數足夠不同,我們會 fork 一個單獨的守護進程。例如,如果某些系統屬性已經更改,我們不會 fork 一個新的守護進程。然而,如果 -Xmx 內存設置更改了,或一些基本的不變的系統屬性更改了 (例如 file.encoding),那么將 fork 新的守護進程。 * 在這一刻,守護進程會被加上 Gradle 的特定版本號。這意味著即使一些守護進程處于空閑狀態,但您正在運行的構建與 Gradle 不同版本,也將啟動一個新的守護進程。這也有一種 --stop 命令行指令的結果: 當運行 --stop 時,您僅可以停止以你的 Gradle 版本啟動的守護進程。 我們計劃在將來改進守護進程的managing / pooling的方法。 ## [](https://github.com/waylau/Gradle-2-User-Guide/blob/master/Chapter%2019.%20The%20Gradle%20Daemon%20%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B.md#193-usage-and-troubleshooting-用法和故障排除)19.3\. Usage and troubleshooting 用法和故障排除 關于命令行的用法,可以看一下專題[Appendix D. Gradle Command Line 命令行](https://github.com/waylau/Gradle-2-User-Guide/blob/master/Appendix%20D.%20Gradle%20Command%20Line%20%E5%91%BD%E4%BB%A4%E8%A1%8C.md)。如果你已經厭倦反復使用相同的命令行選項,可以看看第 20.1 章節,“通過 gradle.properties 配置構建環境”。這一章節包含了有關如何以一種“持久化”的方式配置某些行為(包括在默認情況下打開守護進程)的信息。 以下是有關 Gradle 守護進程的故障排除的一些方面: * 如果你的構建有問題,請嘗試暫時禁用守護進程 (您可以通過使用命令行開關--no-daemon)。 * 有時候,您可能想要通過--stop命令行選項或更有力的方式停止守護程序。 * 默認情況下位于 Gradle 用戶主目錄有一個守護進程的日志文件。 * 你可能想要以--foreground模式啟動守護程序,以觀察構建是怎么執行的。 ## [](https://github.com/waylau/Gradle-2-User-Guide/blob/master/Chapter%2019.%20The%20Gradle%20Daemon%20%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B.md#194-configuring-the-daemon-配置守護進程)19.4\. Configuring the daemon 配置守護進程 可以配置一些守護進程的設置,例如 JVM 參數、 內存設置或Java home目錄。有關更多信息請參閱20.1章節, “通過 gradle.properties 配置構建環境”
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看