通過IDEA File 菜單 -> Project Structure - Modules ,或者 右鍵 Mark Directory as 可以找到這五種類型。
Sources
一般用於標注類似 src 這種可編譯目錄。有時候我們不單單項目的 src 目錄要可編譯,還有其他一些特別的目錄也許我們也要作為可編譯的目錄,就需要對該目錄進行此標注。只有 Sources 這種可編譯目錄才可以新建 Java類和包。
在規范的 maven 項目結構中,頂級目錄是 src,但maven的src我們是不會設置為Sources的,而是在其子目錄 src - main - java,我們會設置 java 目錄為 Sources。
Tests
一般用於標注可編譯的單元測試目錄。而單元測試的目錄是 src - test - java,我們會設置java目錄為Tests,表示該目錄是作為可編譯的單元測試目錄。一般這個和后面幾個我們都是在maven項目下進行配置的,可以看出IntelliJIDEA對maven項目的支持是比徹底的。
Resources
一般用於標注資源文件目錄。在maven項目下,資源目錄是單獨划分出來的,其目錄為:src - main - resources,我們會設置resources目錄為Resources,表示該目錄是作為資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
Test Resources
一般用於標注單元測試的資源文件目錄。在maven項目下,單元測試的資源目錄是單獨划分出來的,其目錄為:src - test - resources,我們會設置resources目錄為TestResources,表示該目錄是作為單元測試的資源目錄。資源目錄下的文件是會被編譯到輸出目錄下的。
Excluded
一般用於標注排除目錄。被排除的目錄不會被IntelliJIDEA創建索引,相當於被IntelliJIDEA廢棄,該目錄下的代碼文件是不具備代碼檢查和智能提示等常規代碼功能。
如圖所示,被標注的目錄會在右側有一個總的概括。其中classes雖然是Excluded目錄,但是它有特殊性,可以不顯示在這里。
REF
https://www.cnblogs.com/hongchengshise/p/10489905.html
https://blog.csdn.net/a772304419/article/details/79680775
https://www.cnblogs.com/liangbin-2019-03-30/p/11205916.html
https://www.dazhuanlan.com/rerth/topics/1472603