在 IntelliJ IDEA 中,沒有相似於 Eclipse 工做空間(Workspace)的概念,而是提出了Project和Module這兩個概念。接下來,就讓我們一塊兒看看 IntelliJ IDEA 官方是如何描述二者的吧!ui
對於 Project,IntelliJ IDEA 官方是這樣介紹的:編碼
A project is a top-level organizational unit for your development work in IntelliJ IDEA. In its finished form, a project may represent a complete software solution. A project is a collection of:spa
A project has one or more modules as its parts.debug
對於 Module,IntelliJ IDEA 官方是這樣介紹的:code
經過上面的介紹,我們知道,在 IntelliJ IDEA 中Project
是最頂級的結構單元,而後就是Module
,一個Project
能夠有多個Module
。目前,主流的大型項目結構基本都是多Module
的結構,這類項目通常是按功能劃分的,好比:user-core-module、user-facade-module 和 user-hessian-module 等等,模塊之間彼此能夠相互依賴。經過這些Module
的命名能夠看出,她們都是處於同一個項目中的模塊,彼此之間是有着不可分割的業務關係的。orm
所以,我們能夠大體總結出:一個Project
是由一個或多個Module
組成,儘可能讓各模塊處於同一項目之中,此時彼此之間具備互相依賴的關聯關係。在這裏,之因此說「儘可能」,是由於 IntelliJ IDEA 的Project
是一個沒有具有任何編碼設置、構建等開發功能的,主要起到一個項目定義、範圍約束、規範類型的效果,或許,我們也能夠簡單地理解Project
就是一個單純的目錄,只是這個目錄在命名上必須有其表明性的意義。在通常狀況下,IntelliJ IDEA 是默認單Project
單Module
的,這時Project
和Module
合二爲一,在沒有修改存儲路徑的時候,顯然Project
對Module
具備強約束做用啦!不過說實話,這裏就是將Module
的內容放在了Project
的目錄下,實際上仍是Module
本身約束本身。blog
如上圖所示,經過觀察Project
和Module
的存儲地址,我們能夠發現,在此處創建了一個名爲user-core-module
的目錄,並將其放在了名爲user-modules-project
的目錄下,而沒有將兩個目錄合二爲一,也就爲我們創建多Module
的Project
做了準備。ip
如上圖所示,顯然user-modules-project
僅表現爲一個目錄而已。開發
如上圖所示,依次點擊File
–>New
–>Module
,進入以下界面:get
如上圖所示,輸入Module name
以後,Content root
和Module file location
自動發生改變,而後點擊finish
,完成:
如上圖所示,我們在項目user-modules-project
中,創建了兩個Module
,分別爲user-core-module
和user-hessian-module
,接下來,我們再看看存儲目錄:
如上圖所示,顯然在user-modules-project
目錄中,又多了一個名爲user-hessian-module
的目錄。至此,多Module
的Project
構建完成!