IntelliJ IDEA如何構(gòu)建JDK

2018-10-26 09:12 更新

為了能夠使用 IntelliJ IDEA 編譯應(yīng)用程序,您需要指定一個(gè)構(gòu)建 JDK??梢栽陧?xiàng)目級(jí)別上配置構(gòu)建 JDK。如果您有一個(gè)復(fù)雜的項(xiàng)目,您可能需要為不同的模塊配置不同的 JDK。

本節(jié)說明如果定義了多個(gè)JDK,IntelliJ IDEA 如何選擇構(gòu)建 JDK,以及如何配置它們:

IntelliJ IDEA 如何知道要使用哪個(gè) JDK?

本節(jié)介紹如果在每個(gè)模塊上配置了多個(gè) JDK,則由 IntelliJ IDEA 選擇構(gòu)建 JDK 的算法。IntelliJ IDEA 執(zhí)行以下操作來確定要用于編譯的 JDK:

  • IntelliJ IDEA 檢查項(xiàng)目中使用的所有 JDK(即在項(xiàng)目和模塊級(jí)別上定義的 JDK)。
  • IntelliJ IDEA 計(jì)算最新的這些 JDK。這是必要的,以確保所有模塊都可以編譯。
  • 如果配置的最新 JDK 的版本低于 1.6,則將使用用于運(yùn)行 IntelliJ IDEA 的 JDK 版本。此限制與以下事實(shí)有關(guān): 從 JDK 1.6 開始,支持由 IntelliJ IDEA 用于生成項(xiàng)目的編譯器 API。
  • 雖然將使用編譯器的特定版本(根據(jù)所選的 JDK 版本),每個(gè)單獨(dú)的模塊將使用 javac 的交叉編譯功能針對(duì)在項(xiàng)目設(shè)置中為此特定模塊定義的 JDK 的庫進(jìn)行編譯。這樣可以防止模塊針對(duì)較新的庫編譯而不是依賴關(guān)系設(shè)置的情況。

JDK 環(huán)境

目前大多數(shù) IDE 都沒有集成 JDK 環(huán)境,IDEA 也是一樣,在使用 IDEA 之前首先要安裝 JDK,并且配置環(huán)境變量。與其他 IDE 不同之處在于,IDEA 不會(huì)自動(dòng)匹配系統(tǒng)的 JDK 環(huán)境,編譯時(shí)會(huì)提示以下錯(cuò)誤信息:

Using javac 1.7.0_40 to compile java sources
java: JPS build failed to load optimized file manager for javac:
java.lang.NoClassDefFoundError: com/sun/tools/javac/util/DefaultFileManager
java.lang.NoClassDefFoundError: com/sun/tools/javac/file/JavacFileManager
java: 致命錯(cuò)誤: 在類路徑或引導(dǎo)類路徑中找不到程序包 java.lang
……
java: Compilation failed: internal java compiler error

IntelliJ IDEA 可以為每個(gè)項(xiàng)目指定不同版本的 JDK,并且需要開發(fā)者手動(dòng)配置項(xiàng)目的所使用的 JDK 版本。配置方法如下:

  1. 單擊 File | Project Structure 菜單項(xiàng),打開 ProjectStructure(項(xiàng)目結(jié)構(gòu))對(duì)話框。
  2. 執(zhí)行以下操作之一:
    • 要為整個(gè)項(xiàng)目設(shè)置構(gòu)建 JDK,請(qǐng)?jiān)谧蟠案裰羞x擇 "項(xiàng)目"。在右側(cè)的 "項(xiàng)目 sdk" 下,從下拉列表中選擇所需的 SDK。
    • 要為特定模塊設(shè)置構(gòu)建 JDK,請(qǐng)?jiān)谧蟠案裰羞x擇 "模塊",然后在中央窗格中選擇所需的模塊,然后在 "模塊 SDK" 下拉列表中指定一個(gè) JDK。 
      如果您之前沒有創(chuàng)建任何項(xiàng)目并指定了 JDK 的路徑,請(qǐng)單擊 "新建",選擇 JDK 并在打開的對(duì)話框中瀏覽 JDK 的安裝文件夾。

注意,您還可以通過編輯適當(dāng)?shù)倪\(yùn)行/調(diào)試配置來覆蓋項(xiàng)目或模塊級(jí)別的 JDK 設(shè)置,以進(jìn)行特定的調(diào)試或測(cè)試。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)