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

標(biāo)注 1:Project name,項(xiàng)目名稱;
標(biāo)注 2:Project location,項(xiàng)目存儲(chǔ)地址;
標(biāo)注 3:Module name,模塊名稱;
標(biāo)注 4:Module file location,模塊存儲(chǔ)地址。
如上圖所示,通過觀察Project和Module的存儲(chǔ)地址,我們可以發(fā)現(xiàn),IntelliJ IDEA 在此處建立了一個(gè)名為user-core-module的目錄,并將其放在了名為user-modules-project的目錄下,而沒有將兩個(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,然后我們?cè)賮砜纯创鎯?chǔ)目錄:

如上圖所示,顯然在user-modules-project目錄中,又多了一個(gè)名為user-hessian-module的目錄。
至此,多Module的Project構(gòu)建完成!
到此這篇關(guān)于IntelliJ IDEA中Project與Module的概念以及區(qū)別的文章就介紹到這了,更多相關(guān)IntelliJ IDEA中Project與Module區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java Web會(huì)話技術(shù)Session的簡單使用
在請(qǐng)求需要傳遞的信息比較多,使用Cookie技術(shù)就會(huì)增大請(qǐng)求的難度。而Session可以存儲(chǔ)對(duì)象、數(shù)組等信息,并且Session是存儲(chǔ)到服務(wù)器端的,在客戶端請(qǐng)求時(shí)只需要將session id一并攜帶給服務(wù)器端。本文將簡單的介紹如何使用Session2021-05-05
SpringBoot?全局線程池配置及應(yīng)用小結(jié)
為了提高應(yīng)用程序的性能和響應(yīng)速度,線程池是一個(gè)非常重要的工具,本文主要介紹了Spring?Boot?全局線程池配置及應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
Java實(shí)現(xiàn)自定義Excel數(shù)據(jù)排序的方法詳解
通常,我們可以在Excel中對(duì)指定列數(shù)據(jù)執(zhí)行升序或者降序排序,在需要自定義排序情況下,我們也可以自行根據(jù)排序需要編輯數(shù)據(jù)排列順序。本文將通過Java應(yīng)用程序來實(shí)現(xiàn)如何自定義排序,需要的可以參考一下2022-09-09
使用Jackson進(jìn)行JSON生成與解析的新手指南
這篇文章主要為大家詳細(xì)介紹了如何使用Jackson進(jìn)行JSON生成與解析處理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
scala當(dāng)中的文件操作和網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn)方法
這篇文章主要介紹了scala當(dāng)中的文件操作和網(wǎng)絡(luò)請(qǐng)求的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
利用MultipartFile實(shí)現(xiàn)文件上傳功能
這篇文章主要為大家詳細(xì)介紹了利用MultipartFile實(shí)現(xiàn)文件上傳功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

