IntelliJ IDEA使用技巧(十九)——Project 和 Module 的概念及區(qū)別
在 IntelliJ IDEA 中,沒(méi)有類(lèi)似于 Eclipse 工作空間(Workspace)的概念,而是提出了Project和Module這兩個(gè)概念。接下來(lái),就讓咱們一起看看 IntelliJ IDEA 官方是如何描述兩者的吧!
對(duì)于 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:
- Your work results: source code, build scripts, configuration files, documentation, artifacts, etc.
- SDKs and libraries that you use to develop, compile, run and test your code.
- Project settings that represent your working preferences in the context of a project.
A project has one or more modules as its parts.
對(duì)于 Module,IntelliJ IDEA 官方是這樣介紹的:
- A module is a part of a project that you can compile, run, test and debug independently.
- Modules are a way to reduce complexity of large projects while maintaining a common (project) configuration.
- Modules are reusable: if necessary, a module can be included in more than one project.
通過(guò)上面的介紹,咱們知道,在 IntelliJ IDEA 中Project
是最頂級(jí)的結(jié)構(gòu)單元,然后就是Module
,一個(gè)Project
可以有多個(gè)Module
。目前,主流的大型項(xiàng)目結(jié)構(gòu)基本都是多Module
的結(jié)構(gòu),這類(lèi)項(xiàng)目一般是按功能劃分的,比如:user-core-module、user-facade-module 和 user-hessian-module 等等,模塊之間彼此可以相互依賴(lài)。通過(guò)這些Module
的命名可以看出,她們都是處于同一個(gè)項(xiàng)目中的模塊,彼此之間是有著不可分割的業(yè)務(wù)關(guān)系的。
因此,咱們可以大致總結(jié)出:一個(gè)Project
是由一個(gè)或多個(gè)Module
組成,盡量讓各模塊處于同一項(xiàng)目之中,此時(shí)彼此之間具有互相依賴(lài)的關(guān)聯(lián)關(guān)系。在這里,之所以說(shuō)“盡量”,是因?yàn)?IntelliJ IDEA 的Project
是一個(gè)沒(méi)有具備任何編碼設(shè)置、構(gòu)建等開(kāi)發(fā)功能的,主要起到一個(gè)項(xiàng)目定義、范圍約束、規(guī)范類(lèi)型的效果,或許,咱們也可以簡(jiǎn)單地理解Project
就是一個(gè)單純的目錄,只是這個(gè)目錄在命名上必須有其代表性的意義。在一般情況下,IntelliJ IDEA 是默認(rèn)單Project
單Module
的,這時(shí)Project
和Module
合二為一,在沒(méi)有修改存儲(chǔ)路徑的時(shí)候,顯然Project
對(duì)Module
具有強(qiáng)約束作用啦!不過(guò)說(shuō)實(shí)話(huà),這里就是將Module
的內(nèi)容放在了Project
的目錄下,實(shí)際上還是Module
自己約束自己。
- 標(biāo)注1:Project name,項(xiàng)目名稱(chēng);
- 標(biāo)注2:Project location,項(xiàng)目存儲(chǔ)地址;
- 標(biāo)注3:Module name,模塊名稱(chēng);
- 標(biāo)注4:Module file location,模塊存儲(chǔ)地址。
如上圖所示,通過(guò)觀(guān)察Project
和Module
的存儲(chǔ)地址,咱們可以發(fā)現(xiàn),在此處建立了一個(gè)名為user-core-module
的目錄,并將其放在了名為user-modules-project
的目錄下,而沒(méi)有將兩個(gè)目錄合二為一,也就為咱們建立多Module
的Project
作了準(zhǔn)備。
如上圖所示,顯然user-modules-project
僅表現(xiàn)為一個(gè)目錄而已。
如上圖所示,依次點(diǎn)擊File
–>New
–>Module
,進(jìn)入如下界面:
如上圖所示,輸入Module name
之后,Content root
和Module file location
自動(dòng)發(fā)生改變,然后點(diǎn)擊finish
,完成:
如上圖所示,咱們?cè)陧?xiàng)目user-modules-project
中,建立了兩個(gè)Module
,分別為user-core-module
和user-hessian-module
,接下來(lái),咱們?cè)倏纯创鎯?chǔ)目錄:
如上圖所示,顯然在user-modules-project
目錄中,又多了一個(gè)名為user-hessian-module
的目錄。至此,多Module
的Project
構(gòu)建完成!
更多關(guān)于JAVA IDE相關(guān)產(chǎn)品授權(quán)、試用相關(guān)信息,請(qǐng)【咨詢(xún)客服】