IntelliJ IDEA中Project與Module的概念以及區(qū)別
在 IntelliJ IDEA 中,沒有類似于 Eclipse 工作空間(Workspace)的概念,而是提出了Project和Module這兩個概念。接下來,就讓我們一起看看 IntelliJ IDEA 官方是如何描述兩者的吧!
對于 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.
對于 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.
通過上面的介紹,我們知道:在 IntelliJ IDEA 中Project是最頂級的結(jié)構(gòu)單元,然后就是Module,一個Project可以有多個Module。目前,主流的大型項目結(jié)構(gòu)基本都是多Module的結(jié)構(gòu),這類項目一般是按功能劃分的,比如:user-core-module、user-facade-module和user-hessian-module等等,模塊之間彼此可以相互依賴。通過這些Module的命名可以看出,它們都是處于同一個項目中的模塊,彼此之間是有著不可分割的業(yè)務(wù)關(guān)系。因此,我們可以大致總結(jié)出:一個Project是由一個或多個Module組成,
當(dāng)為單Module項目的時候,這個單獨的Module實際上就是一個Project;當(dāng)為多Module項目的時候,多個模塊處于同一個Project之中,此時彼此之間具有互相依賴的關(guān)聯(lián)關(guān)系。
此外, IntelliJ IDEA 的Project是一個不具備任何編碼設(shè)置、構(gòu)建等開發(fā)功能的概念,其主要作用就是起到一個項目定義、范圍約束、規(guī)范類型的效果,或許,我們也可以簡單地理解Project就是一個單純的目錄,只是這個目錄在命名上必須有其代表性的意義。在缺省情況下,IntelliJ IDEA 是默認(rèn)單Project單Module的,這時Project和Module合二為一,在沒有修改存儲路徑的時候,顯然Project對Module具有強約束作用!不過說實話,這里就是將Module的內(nèi)容放在了Project的目錄下,實際上還是Module自己約束自己。

標(biāo)注 1:Project name,項目名稱;
標(biāo)注 2:Project location,項目存儲地址;
標(biāo)注 3:Module name,模塊名稱;
標(biāo)注 4:Module file location,模塊存儲地址。
如上圖所示,通過觀察Project和Module的存儲地址,我們可以發(fā)現(xiàn),IntelliJ IDEA 在此處建立了一個名為user-core-module的目錄,并將其放在了名為user-modules-project的目錄下,而沒有將兩個目錄合二為一,也就為我們建立多Module的Project作了準(zhǔn)備。

如上圖所示,顯然user-modules-project僅表現(xiàn)為一個目錄而已。

如上圖所示,依次點擊File -> New -> Module,進入如下界面:

如上圖所示,輸入Module name之后,Content root和Module file location自動發(fā)生改變,然后點擊Finish,完成:

如上圖所示,我們在項目user-modules-project中,建立了兩個Module,分別為user-core-module和user-hessian-module,然后我們再來看看存儲目錄:

如上圖所示,顯然在user-modules-project目錄中,又多了一個名為user-hessian-module的目錄。
至此,多Module的Project構(gòu)建完成!
到此這篇關(guān)于IntelliJ IDEA中Project與Module的概念以及區(qū)別的文章就介紹到這了,更多相關(guān)IntelliJ IDEA中Project與Module區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot?全局線程池配置及應(yīng)用小結(jié)
為了提高應(yīng)用程序的性能和響應(yīng)速度,線程池是一個非常重要的工具,本文主要介紹了Spring?Boot?全局線程池配置及應(yīng)用,具有一定的參考價值,感興趣的可以了解一下2024-05-05
Java實現(xiàn)自定義Excel數(shù)據(jù)排序的方法詳解
通常,我們可以在Excel中對指定列數(shù)據(jù)執(zhí)行升序或者降序排序,在需要自定義排序情況下,我們也可以自行根據(jù)排序需要編輯數(shù)據(jù)排列順序。本文將通過Java應(yīng)用程序來實現(xiàn)如何自定義排序,需要的可以參考一下2022-09-09
scala當(dāng)中的文件操作和網(wǎng)絡(luò)請求的實現(xiàn)方法
這篇文章主要介紹了scala當(dāng)中的文件操作和網(wǎng)絡(luò)請求的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06

