IntelliJ IDEA使用Gradle項(xiàng)目

2018-04-09 10:19 更新

使用Gradle項(xiàng)目

IntelliJ IDEA 可讓您管理 Gradle 項(xiàng)目。您可以鏈接、忽略項(xiàng)目并同步 Gradle 和 IntelliJ IDEA 項(xiàng)目中的更改。此外,您可以配置 Gradle 組合構(gòu)建。

將Gradle項(xiàng)目鏈接到IntelliJ IDEA項(xiàng)目

當(dāng)通過(guò)從 Gradle 模型導(dǎo)入來(lái)創(chuàng)建項(xiàng)目時(shí),會(huì)自動(dòng)建立項(xiàng)目的鏈接,并啟用 Gradle Projects 工具窗口。

如果 IntelliJ IDEA 項(xiàng)目未鏈接到 Gradle 項(xiàng)目,則 Gradle 工具窗口將被禁用。在這種情況下,IntelliJ IDEA 會(huì)顯示帶有鏈接的消息,該鏈接可以讓您快速導(dǎo)入 Gradle 項(xiàng)目并啟用 Gradle Projects 工具窗口。如果 Gradle Projects 工具窗口處于活動(dòng)狀態(tài),那么至少有一個(gè) Gradle 項(xiàng)目已鏈接。

  1. 打開(kāi) Gradle Projects 工具窗口。
  2. 在 Gradle Projects 工具窗口中,單擊 以附加 gradle 項(xiàng)目。
  3. 在打開(kāi)的對(duì)話框中,選擇所需的 build.gradle 文件,然后單擊“確定”。
  4. 在從 Gradle 導(dǎo)入模塊窗口中,為要嘗試鏈接的 Gradle 項(xiàng)目指定選項(xiàng),然后單擊“確定”。該項(xiàng)目已鏈接。該 Gradle Projects 工具窗口中顯示的工具欄和 Gradle 實(shí)體的樹(shù)視圖。

或者,如果您將項(xiàng)目作為Gradle模塊從現(xiàn)有源導(dǎo)入,則可以鏈接您的 Gradle 項(xiàng)目 。在這種情況下,即使 Gradle Projects 工具窗口不可用,也可以鏈接 Gradle 項(xiàng)目。

瀏覽到build.gradle文件

  1. 在 Gradle Projects 工具窗口中,右鍵單擊鏈接的項(xiàng)目。
  2. 從上下文菜單中選擇 。IntelliJ IDEA 導(dǎo)航到適當(dāng)?shù)?Gradle 配置文件,并在編輯器中打開(kāi)相關(guān) build.gradle 文件。

分離或忽略鏈接的Gradle項(xiàng)目

提示:如果您從 build.gradle 文件中手動(dòng)刪除模塊,請(qǐng)?jiān)谶M(jìn)行部分導(dǎo)入時(shí)忽略模塊,或通過(guò)選擇每個(gè)源集的創(chuàng)建單獨(dú)模塊或使用限定名稱選項(xiàng)來(lái)更改導(dǎo)入設(shè)置中的模塊名稱 - 在所有這些情況下當(dāng)您導(dǎo)入項(xiàng)目時(shí),IntelliJ IDEA 會(huì)提示您恢復(fù)已刪除的模塊。您可以在“孤立模塊(Orphan Modules)”對(duì)話框中選擇要恢復(fù)的那個(gè)。

  1. 在 Gradle Projects 工具窗口中,右鍵單擊鏈接的項(xiàng)目。
  2. 從上下文菜單中選擇 (Delete)?;蛘?,您可以選擇鏈接的項(xiàng)目,然后單擊 Gradle 工具欄上的 。
  3. 在“導(dǎo)入Gradle項(xiàng)目(Import Gradle Projects)”彈出窗口中,如果不想從 IntelliJ IDEA Projects 工具窗口中刪除項(xiàng)目,請(qǐng)清除模塊中的復(fù)選框。
  4. 點(diǎn)擊“確定”。Gradle 項(xiàng)目與 IntelliJ IDEA 項(xiàng)目分離,不再同步。

您也可以使用 Ignore Gradle Project 選項(xiàng)取消激活 Gradle 項(xiàng)目。

  1. 在 Gradle Projects 工具窗口中,右鍵單擊要忽略的項(xiàng)目。
  2. 在上下文菜單中,選擇“忽略Gradle項(xiàng)目(Ignore Gradle Project)”。
  3. 在打開(kāi)的窗口中,選擇要取消激活的項(xiàng)目和模塊,然后單擊“確定”。在這種情況下,IntelliJ IDEA 會(huì)從 IntelliJ IDEA Project 工具窗口中刪除選定的項(xiàng)目和模塊,并且不會(huì)再導(dǎo)入它們。但是,您仍然可以在 Gradle Projects 工具窗口中看到忽略的 Gradle 模塊和項(xiàng)目列表。如果您想激活您的 Gradle 項(xiàng)目或模塊,請(qǐng)從上下文菜單中選擇 Unignore Gradle Projects。

刷新鏈接的Gradle項(xiàng)目

  1. 在 Gradle Projects 工具窗口中,右鍵單擊鏈接的項(xiàng)目。
  2. 從上下文菜單中選擇 。點(diǎn)擊這個(gè)圖標(biāo)后,IntelliJ IDEA 分析 Gradle Projects 工具窗口中的項(xiàng)目結(jié)構(gòu)。IntelliJ IDEA 無(wú)法刷新您的項(xiàng)目的一部分,它會(huì)刷新整個(gè)項(xiàng)目,包括模塊和依賴關(guān)系。如果通過(guò)“項(xiàng)目結(jié)構(gòu)(Project Structure)”對(duì)話框(單擊主菜單上的 )配置依賴項(xiàng),則依賴項(xiàng)只會(huì)顯示在 IntelliJ IDEA Projects 工具窗口中,而不會(huì)顯示在 Gradle Projects 工具窗口中。請(qǐng)注意,下次刷新項(xiàng)目時(shí),IntelliJ IDEA 將刪除添加的依賴項(xiàng),因?yàn)?IntelliJ IDEA 將 Gradle 配置視為單一來(lái)源。

如果您在創(chuàng)建或?qū)?Gradle 項(xiàng)目時(shí)選擇了“使用自動(dòng)(Use auto-import)”導(dǎo)入,則每次更改項(xiàng)目時(shí)都會(huì)自動(dòng)重新導(dǎo)入項(xiàng)目。

配置Gradle組合構(gòu)建

在開(kāi)始配置組合構(gòu)建之前,請(qǐng)確保為項(xiàng)目配置了 Gradle 3.1或更高版本。

另外請(qǐng)注意,使用 Gradle 組合構(gòu)建有一些限制。

您可以使用該 settings.gradle 文件為您的 Gradle 組合構(gòu)建包含 Gradle 構(gòu)建 。

  1. 在編輯器中打開(kāi) settings.gradle 文件。
  2. 使用該 includeBuild 命令,指定要添加為項(xiàng)目依賴關(guān)系的構(gòu)建的位置。

您也可以使用 Gradle 項(xiàng)目工具窗口配置您的組合構(gòu)建。

  1. 打開(kāi)一個(gè) Gradle 項(xiàng)目。
  2. 鏈接您想用于組合構(gòu)建的其他 Gradle 項(xiàng)目。
  3. 在 Gradle 項(xiàng)目工具窗口中,右鍵單擊您的主項(xiàng)目,然后從上下文菜單中選擇 Composite Build Configuration。
  4. 在 Gradle Project Build Composite 對(duì)話框中,選擇要包含在 Gradle 組合構(gòu)建中的項(xiàng)目。
  5. 刷新您的主 Gradle 項(xiàng)目。IntelliJ IDEA 找到包含的 Gradle 項(xiàng)目并將它們視為 IntelliJ IDEA 模塊。

使用Gradle源集

IntelliJ IDEA 允許您在解析 Gradle 項(xiàng)目時(shí)使用 Gradle 源代碼集。源集在 IntelliJ IDEA 項(xiàng)目中被視為模塊。您可以聲明一個(gè)自定義源集,IntelliJ IDEA 將其作為模塊添加到項(xiàng)目中。

  1. 當(dāng)您創(chuàng)建或?qū)?Gradle 項(xiàng)目時(shí),請(qǐng)選擇“為每個(gè)源集使用單獨(dú)的模塊(use separate module per source set)”?;蛘?,單擊 Gradle 項(xiàng)目工具窗口中的 圖標(biāo)并在 Gradle 設(shè)置頁(yè)面上選擇相同的選項(xiàng)。
  2. IntelliJ IDEA 創(chuàng)建一個(gè)主源集目錄,其中包含兩個(gè)源集 - main 和 test。為了編譯測(cè)試源,對(duì)主源集具有依賴性。
    使用Gradle項(xiàng)目

您可以添加自定義源集。

  1. 在編輯器中打開(kāi) gradle.build 文件。
  2. 聲明一個(gè)自定義源集。(在我們的例子中,它是 api)
    使用Gradle項(xiàng)目
    (這個(gè)源集包含沒(méi)有實(shí)現(xiàn)的接口,接口的實(shí)現(xiàn)在默認(rèn)的主源集中。)
  3. 打開(kāi) Gradle projects 工具窗口,查看 IntelliJ IDEA 添加了 api 源集。
    使用Gradle項(xiàng)目
    測(cè)試源集合包含適當(dāng)?shù)囊蕾囮P(guān)系。
    使用Gradle項(xiàng)目
    請(qǐng)注意,默認(rèn)的主源集對(duì) api 源集的輸出具有編譯依賴性。如果您編譯主源集中的源代碼,Gradle 將自動(dòng)調(diào)用該 apiClasses 任務(wù)。
    使用Gradle項(xiàng)目
  4. 打開(kāi)項(xiàng)目結(jié)構(gòu)( )。請(qǐng)注意,所有源集都表示為分組到單個(gè)模塊中的單獨(dú)模塊。
    使用Gradle項(xiàng)目
    如果您單擊測(cè)試模塊并選擇依賴關(guān)系選項(xiàng)卡,您將看到源集的依賴關(guān)系列表。
    使用Gradle項(xiàng)目

您還可以添加自定義測(cè)試,并使用源集功能將它們與主要測(cè)試分開(kāi)運(yùn)行。

  1. 聲明一個(gè)源代碼的方式與您聲明自定義源代碼集的方式相同。除了源代碼集的名稱之外,還要指定輸出目錄和將運(yùn)行測(cè)試的任務(wù)。
    使用Gradle項(xiàng)目
  2. 在 Gradle 項(xiàng)目工具窗口中,單擊:任務(wù)|其他(Tasks | other)。
  3. 在打開(kāi)的列表中,雙擊 integrationTest 運(yùn)行集成測(cè)試。
    使用Gradle項(xiàng)目

將構(gòu)建和運(yùn)行委派給Gradle

IntelliJ IDEA 可讓您將所有構(gòu)建和運(yùn)行操作委托給 Gradle。當(dāng)你建立一個(gè)項(xiàng)目(Build | Build Project)時(shí),IntelliJ IDEA 使用 Gradle 調(diào)用正確的任務(wù)。此外,運(yùn)行菜單中的運(yùn)行和調(diào)試操作在 Gradle 中執(zhí)行。

  1. 點(diǎn)擊 Gradle 項(xiàng)目工具窗口中的 圖標(biāo)?;蛘撸谥鞑藛紊线x擇:文件|設(shè)置|構(gòu)建,執(zhí)行,部署|構(gòu)建工具| Gradle(File | Settings | Build, Execution, Deployment |Build Tools |Gradle)。
  2. 點(diǎn)擊 Gradle,然后從下拉列表中選擇 Runner。
  3. 在 Runner 頁(yè)面上,選擇“將IDE構(gòu)建/運(yùn)行操作委托給Gradle(Delegate IDE build/run actions to Gradle)”。
    使用Gradle項(xiàng)目
    請(qǐng)注意,“運(yùn)行測(cè)試使用(Run test using)”選項(xiàng)保持活動(dòng)狀態(tài),即使您將所有構(gòu)建和運(yùn)行操作委派給Gradle,您也可以選擇運(yùn)行測(cè)試的方式。
  4. 點(diǎn)擊“確定”。
  5. 用該 build.gradle 文件打開(kāi)任何 Java 項(xiàng)目。
  6. 調(diào)用生成項(xiàng)目操作(Ctrl+F9)。Gradle 編譯代碼并將其顯示在 Run 工具窗口中。
    使用Gradle項(xiàng)目
  7. 運(yùn)行你的 main 方法(Ctrl+Shift+F10)。你可以看到 IntelliJ IDEA 使用 Gradle JavaExec 任務(wù)來(lái)運(yùn)行這個(gè)類。
    Gradle運(yùn)行的主要方法

IntelliJ IDEA 還允許您使用 Gradle 構(gòu)建 WAR 或 EAR 工件。

  1. 創(chuàng)建一個(gè) Gradle Web 項(xiàng)目。(有關(guān)更多說(shuō)明,請(qǐng)參閱創(chuàng)建Gradle項(xiàng)目。)
    使用Gradle項(xiàng)目
  2. 創(chuàng)建 Tomcat 服務(wù)器運(yùn)行/調(diào)試配置。
    使用Gradle項(xiàng)目
  3. 單擊“部署(Deployment)”選項(xiàng)卡并為您的部署添加工件。
    使用Gradle項(xiàng)目
  4. 點(diǎn)擊 啟動(dòng)Tomcat服務(wù)器配置。在運(yùn)行工具窗口中,您可以看到該工件由 Gradle 構(gòu)建,并由 IntelliJ IDEA Tomcat 集成進(jìn)行部署。
    使用Gradle項(xiàng)目

配置和使用Gradle測(cè)試運(yùn)行器

IntelliJ IDEA 允許您使用不同的測(cè)試運(yùn)行器在 Gradle 項(xiàng)目中執(zhí)行測(cè)試。您可以使用 JUnit 來(lái)運(yùn)行測(cè)試。在這種情況下,由于增量編譯,測(cè)試運(yùn)行得更快。您可以將測(cè)試過(guò)程委托給 Gradle。在這種情況下,當(dāng)您運(yùn)行測(cè)試時(shí),您將在持續(xù)集成(CI)服務(wù)器上獲得相同的結(jié)果。另外,無(wú)論您的 Gradle 項(xiàng)目多么困難,在命令行中運(yùn)行的測(cè)試都將始終在 IDE 中運(yùn)行。您也可以決定每個(gè)測(cè)試使用哪個(gè)測(cè)試運(yùn)行器。

  1. 在 Gradle 項(xiàng)目工具窗口中,單擊 圖標(biāo)。
  2. 在 Settings 對(duì)話框中,右鍵單擊 Gradle,然后從下拉列表中選擇 Runner。
  3. 在打開(kāi)的頁(yè)面上,在“運(yùn)行測(cè)試使用(Run test using)”下拉列表中,選擇您要用于測(cè)試運(yùn)行的選項(xiàng)。
    使用Gradle項(xiàng)目
    (默認(rèn)值是 Platform Test Runner。)
  4. 點(diǎn)擊“確定”。
  5. 在您的 Gradle 項(xiàng)目中,在編輯器中,創(chuàng)建或選擇您想要運(yùn)行的測(cè)試。
  6. 從上下文菜單中,選擇 Run <test name>?;蛘?,點(diǎn)擊左側(cè)水槽中的 圖標(biāo)。
    使用Gradle項(xiàng)目
  7. 根據(jù)您選擇的測(cè)試運(yùn)行器,IntelliJ IDEA 以下列方式之一運(yùn)行測(cè)試:
    • 如果您選擇了 Platform Test Runner,IntelliJ IDEA 將使用 JUnit 測(cè)試運(yùn)行器運(yùn)行測(cè)試,并在Run JUnit 工具窗口中顯示輸出。
      使用Gradle項(xiàng)目
    • 如果您選擇了Gradle Test Runner,IntelliJ IDEA 將使用 Gradle 測(cè)試運(yùn)行器運(yùn)行測(cè)試,并在 Run Gradle 工具窗口中顯示輸出 。
      使用Gradle項(xiàng)目
      您也可以選擇運(yùn)行'name()'以覆蓋您的測(cè)試代碼覆蓋范圍。
      使用Gradle項(xiàng)目
    • 如果您選擇 Let me choose per test,IntelliJ IDEA 可讓您選擇 JUnit 或 Gradle 來(lái)運(yùn)行測(cè)試。
      使用Gradle項(xiàng)目
      一旦你選擇了測(cè)試運(yùn)行器,IntelliJ IDEA會(huì)記住你的選擇并自動(dòng)使用你選擇的選項(xiàng)來(lái)運(yùn)行你的測(cè)試。
    您可以在 Runner 設(shè)置頁(yè)面中更改您的選擇。

您也可以選擇 Run 'name()' with coverage 以查看您的測(cè)試代碼覆蓋范圍。

使用Gradle項(xiàng)目

它適用于平臺(tái)測(cè)試運(yùn)行器以及 Gradle 測(cè)試運(yùn)行器。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)