Project Structure
“ 項目結構”對話框允許您管理項目和IDE級別的元素,例如Modules,Facets,Libraries, Artifacts和SDK。
在大多數情況下,左邊部分有兩個窗格實現了兩級選擇器。唯一的例外是當你選擇項目,在這種情況下只有一個選擇器窗格。
打開方式有兩種:
1. 通過工具欄
2.通過快捷鍵
Ctrl+Shift+Alt+S
Project
指定項目名稱,SDK,語言級別和編譯器輸出路徑。
- Project name:項目名,使用此字段編輯項目名稱。
- Project SDK:項目SDK,選擇項目SDK。如果所需SDK不在列表中,請單擊“ New”,然后選擇所需的SDK類型。然后,在打開的對話框中,選擇SDK主目錄,然后單擊確定。要查看或編輯所選SDK的名稱和內容,請單擊"Edit"。(SDK頁面將打開。)
- Project language level:選擇要支持的Java語言級別。選定的級別將被用作項目默認值。
可用選項對應於JDK版本:
1.3 - 普通的舊Java
1.4 - “斷言”關鍵字
5.0 - 'enum'關鍵字,自動裝箱等
6.0 - @Override在接口
7.0 - 鑽石,ARM,多捕獲等
8.0 - Lambda支持,類型注釋等
可以為您的任何模塊設置單獨的語言級別 。
請注意,如果目標級別沒有明確定義(編譯器選項-target),則認為它與源語言級別相同。
因此,如果-target沒有明確定義,它將與語言水平同步。 - Project compiler output:項目編譯器輸出,指定IntelliJ IDEA將存儲編譯結果的路徑。單擊選擇路徑對話框中browseButton 的目錄。
指定目錄中的兩個子目錄將被創建:
production 為生產代碼。
test 為測試來源。
在這些子目錄中,將為每個模塊創建單獨的輸出目錄。輸出路徑可以在模塊級重新定義。
Modules
指定項目名稱,SDK,語言級別和編譯器輸出路徑。在“ Project Structure”對話框中的類別中,現有groups, modules, facets以及Flash模塊的build configurations顯示在元素選擇器窗格中。(Facets and build configurations顯示為模塊元素。)
- Name:項目名稱
- Souces:這里對Module的開發目錄進行文件夾分類,就是說這個module里有什么內容,說明了不同性質的內容放在哪里。
注意,這些不同內容的標記代表了一個標准Java工程的各項內容,IntelliJ就是根據這些標記來識別一個Java工程的各項內容的,比如,它會用javac去編譯標記為Sources的源碼,打包的時候會把標記為Resources的資源拷貝到jar包中,並且忽略標記為Exluded的內容。左邊顯示的是在選中內容的預覽。 - Paths:為模塊配置編譯器輸出路徑,還可以指定與模塊關聯的外部JavaDocs和外部注釋的位置。
- Dependencies:在此選項卡上,您可以定義模塊SDK並形成模塊依賴關系列表。
Sources
對module的開發目錄進行文件夾分類,以讓idea明白怎么去對待他們,明確哪些是存放源代碼的文件夾,哪些是存放靜態文件的文件夾,哪些是存放測試代碼的文件夾,哪些是被排除編譯的文件夾。
Language level:語言級別列表,使用此列表為模塊選擇Java語言級別。可用選項對應於JDK版本。
Sources:源代碼存放的文件,藍色。
Tests:設置測試代碼存放的文件件,綠色。
Resources:一般對應着Sources文件,一般放配置文件,如:log4j.properties,application.yml。
Test Resources:這個對應着Tests文件夾,存放着Tests代碼的配置文件。
Excluded:設置配出編譯檢查的文件,例如我們在project模塊設置的out文件夾。
Paths
- Compiler output:編譯輸出路徑。
1. Inherit project compile output path:繼承項目編譯輸出路徑 選擇此選項以使用為項目指定的路徑。即上面在Project選項中設置的out文件路徑。
2. Use module compile output path:使用模塊編譯輸出路徑。
Output path:編譯輸出路徑。
Test output path:測試代碼編譯輸出路徑。
Exclude output paths: 排除輸出路徑,選中此復選框可以排除輸出目錄。
- JavaDoc:使用可用控件組合與模塊關聯的外部JavaDocs存儲位置的列表。
- External Annotations:外部注釋。使用
和
管理與模塊關聯的外部注釋的位置(目錄)列表。
Dependencies
在此選項卡上,您可以定義模塊SDK並形成模塊依賴關系列表。
- Module SDK:模塊SDK,選擇模塊SDK。
(要將項目SDK與模塊相關聯,請選擇Project SDK。請注意,如果稍后更改了項目SDK,模塊SDK將相應更改。
如果所需SDK不在列表中,請單擊“ 新建”,然后選擇所需的SDK類型。然后,在打開的對話框中,選擇SDK主目錄,然后單擊確定。
要查看或編輯所選SDK的名稱和內容,請單擊編輯。(SDK頁面將打開。) - 依賴列表
- 相關性存儲格式,選擇用於存儲依賴關系的格式(作為IntelliJ IDEA模塊或Eclipse項目)。該選項對使用不同開發工具的團隊有幫助。
Libraries
在此選項卡上,您可以定義模塊SDK並形成模塊依賴關系列表。
首先,可以創建一個新的項目庫,可以設置分類。
可以添加本地jar包,網絡來源的jar包,排除jar包,刪除jar包。
Facets
表示這個 module 有什么特征,比如 Web,Spring 和 Hibernate 等;
Artifacts
Artifact 是 maven 中的一個概念,表示某個 module 要如何打包,例如 war exploded、war、jar、ear 等等這種打包形式;
一個 module 有了 Artifacts 就可以部署到應用服務器中了!
在給項目配置 Artifacts 的時候有好多個 type 的選項,exploed 是什么意思?
explode 在這里你可以理解為展開,不壓縮的意思。也就是 war、jar 等產出物沒壓縮前的目錄結構。建議在開發的時候使用這種模式,便於修改了文件的效果立刻顯現出來。默認情況下,IDEA 的 Modules 和 Artifacts 的 output 目錄 已經設置好了,不需要更改,
打成 war 包 的時候會自動在 WEB-INF 目錄 下生產 classes 目錄 ,然后把編譯后的文件放進去。
SDKS
系統開發工具 ,全局 SDK 配置 。
Global libraries
全局類庫,可以配置一些常用的類庫。
Problems
問題,在項目異常的時候很有用,可以根據提示進行項目修復(FIXED)。