IntelliJ IDEA中Project與Module的概念以及區(qū)別
在 IntelliJ IDEA 中,沒(mé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),這類項(xiàng)目一般是按功能劃分的,比如:user-core-module、user-facade-module和user-hessian-module等等,模塊之間彼此可以相互依賴。通過(guò)這些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)建等開(kāi)發(fā)功能的概念,其主要作用就是起到一個(gè)項(xiàng)目定義、范圍約束、規(guī)范類型的效果,或許,我們也可以簡(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í)話,這里就是將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ǔ)地址。
如上圖所示,通過(guò)觀察Project和Module的存儲(chǔ)地址,我們可以發(fā)現(xiàn),IntelliJ IDEA 在此處建立了一個(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,然后我們?cè)賮?lái)看看存儲(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)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 如何基于Python Matplotlib實(shí)現(xiàn)網(wǎng)格動(dòng)畫2. 利用promise及參數(shù)解構(gòu)封裝ajax請(qǐng)求的方法3. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向4. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明5. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)6. Ajax實(shí)現(xiàn)表格中信息不刷新頁(yè)面進(jìn)行更新數(shù)據(jù)7. JSP數(shù)據(jù)交互實(shí)現(xiàn)過(guò)程解析8. windows服務(wù)器使用IIS時(shí)thinkphp搜索中文無(wú)效問(wèn)題9. .NET中l(wèi)ambda表達(dá)式合并問(wèn)題及解決方法10. PHP設(shè)計(jì)模式中工廠模式深入詳解
