IntelliJ IDEA 中內(nèi)容根目錄指的是一個包含組成模塊的所有文件的文件夾。
一個模塊可以有多個內(nèi)容根目錄,但是,在大多數(shù)情況下,有一個內(nèi)容根目錄就足夠了。(在某些情況下,沒有內(nèi)容根的模塊可能是有用的,請參閱沒有內(nèi)容根的模塊:依賴項的集合。)
IntelliJ IDEA 中的內(nèi)容根目錄顯示為
或
。
內(nèi)容根目錄的文件夾類別
內(nèi)容根目錄中的文件夾可以分配給以下類別:
- 源根目錄(或源文件夾;顯示為
)。
通過將文件夾分配給此類別,您可以告知 IntelliJ IDEA 該文件夾及其子文件夾包含應編譯為構(gòu)建過程的一部分的源代碼。
在Java 模塊中,源根目錄中的子文件夾表示您的 Java 包結(jié)構(gòu)。
您可以為源根目錄(例如 com.mycompany.myapp)指定包前綴,而不是在該源根目錄中創(chuàng)建相應的文件夾結(jié)構(gòu)(例如 com/mycompany/myapp)。有關(guān)更多信息,請參閱 Java 源根目錄的包前綴。
在沒有包前綴和子文件夾的情況下,源根目錄將表示默認包(未命名的包)。
- 生成的源根目錄(即生成的源文件夾;顯示為
;在某些視圖中 [生成] 文本標記被使用)類似于源根目錄。不同之處在于,在執(zhí)行移動類重構(gòu)或使用 "創(chuàng)建類從使用快速修復" 時,不會將生成的源根建議為目標文件夾
- 測試源根目錄 (或測試源文件夾;顯示為
)。
這些根目錄類似于源根目錄,但是用于測試的代碼(例如用于單元測試)。測試源文件夾允許您將與測試相關(guān)的代碼與生產(chǎn)代碼分開。
正常情況下,源和測試源的編譯結(jié)果會放在不同的文件夾中。
- 生成的測試源根目錄(或生成的測試源文件夾;顯示為
;在某些視圖中 [生成] 文本標記)與測試源根目錄類似。不同之處在于源根目錄和生成的源根目錄之間的差異。
- 資源根目錄(或資源文件夾;顯示為
;僅在 Java 模塊中可用)用于應用程序中使用的資源文件(圖像,各種配置 XML 和屬性文件等)。
在構(gòu)建過程中,資源文件夾的所有內(nèi)容都按照原樣復制到輸出文件夾。
與源類似,您可以指定生成資源。還可以指定應將資源復制到的輸出文件夾中的哪個文件夾。
- 測試資源根目錄(或測試資源文件夾;顯示為
;僅在 Java 模塊中可用)用于與測試源相關(guān)聯(lián)的資源文件。在所有其他方面,這些文件夾與資源文件夾相似。
- 排除的根目錄(顯示為
),是 IntelliJ IDEA “幾乎忽略”的根目錄。
為排除的文件夾中的文件提供非常有限的編碼協(xié)助。
排除的文件夾中包含的類不會出現(xiàn)在代碼完成建議列表中,對這些類的引用在編輯器中顯示為未解決。搜索時,IntelliJ IDEA 不會查找排除的文件夾等。排除其內(nèi)容“不太重要”的文件夾可能會提高 IDE 性能。
通常排除的是編譯輸出文件夾。
有時,您可能希望將排除的根目錄中的文件夾分配到不同的類別。例如,Maven 構(gòu)建輸出文件夾目標可能包含帶有生成源(例如,target/generated-sources)的子文件夾。要處理這種情況,您可以將目標文件夾排除,并標記
target/generated-sources 為包含生成的源。
Java 源根目錄的包前綴
包前綴指定哪個 Java 包對應于一個文件夾,并可將其分配給以下類別的 Java 源根目錄:
如果指定,包前綴將作為相應的文件夾結(jié)構(gòu)的等效項,否則必須另外創(chuàng)建。
為了說明這一點,讓我們假設你要使用 com.mycompany.myapp 包。您可以在相應的源根文件夾 (如 src) 中創(chuàng)建文件夾結(jié)構(gòu) com/mycompany/myapp。
另一種方法是分配 com.mycompany.myapp 到 src 作為其包前綴,并將相應的類正確地存儲在 src 中。
沒有內(nèi)容根目錄的模塊:依賴集合
一個模塊可以單獨用作其他模塊的依賴項集合。在這種情況下,您可以在相應的模塊上添加依賴項,而不是單獨指定必要的依賴項。
用于此目的的模塊顯然不需要內(nèi)容根目錄。
更多建議: