必備材料介紹
IntelliJ IDEA 對其他 IDE 轉過來的用戶有特別優(yōu)待,對其專門整理了非常棒的資料,還請其他 IDE 過來的用戶抽時間查看,會有很大幫助:[絕對的受益良多]
○ Eclipse 用戶可以看: https://www.jetbrains.com/idea/help/eclipse.html
○ NetBeans 用戶可以看: https://www.jetbrains.com/idea/help/netbeans.html
Project 和 Module 介紹
這兩個概念是 IntelliJ IDEA 的必懂知識點之一,請務必要學會。
如果你是 Eclipse 用戶,并且已經(jīng)看了上面給的鏈接,那 IntelliJ IDEA 首先告訴你一個非常重要的事情:IntelliJ IDEA 沒有類似 Eclipse 工作空間(workspace)的概念的。很多從 Eclipse 轉過來的人總是下意識地要再同一個窗口管理 n 個項目,這在 IntelliJ IDEA 是無法得到。IntelliJ IDEA 提供的體驗是:一個 Project 打開一個 Window 窗口。
在 IntelliJ IDEA 中 Project 是最頂級的級別,次級別是 Module。一個 Project 可以有多個 Module。目前主流的大型項目結構都是類似這種多 Module 結構,這類項目一般是這樣劃分的,比如:core Module、web Module、plugin Module、solr Module 等等,模塊之間彼此可以相互依賴。通過這些 Module 的命名也可以看出,他們之間應該都是處于同一個項目業(yè)務情況下的模塊,彼此之間是有不可分割的業(yè)務關系的。
所以我們現(xiàn)在總結:一個 Project 是由一個或多個 Module 組成,模塊之間盡量是處在同一個項目業(yè)務的的情況下,彼此之間互相依賴關聯(lián)。這里用的是 盡量,因為 IntelliJ IDEA 的 Project 是一個沒有具備任何編碼設置、構建等開發(fā)功能的,主要起到一個項目定義、范圍約束、規(guī)范等類型的效果,也許我們可以簡單地理解為就是一個單純的目錄,只是這個目錄命名上必須有其代表性的意義。
下面我們以著名的 spring-framework 項目為例介紹多 Module 的結構的:
- 項目主頁:https://github.com/spring-projects/spring-framework:
- 該項目的 Project 命名是:spring-framework。該目錄主要作用為各個 Module 的頂層目錄進行約束,告訴協(xié)同者,這個目錄下都是 spring-framework 相關的,我絕不會放 Android 相關源碼、文檔、文件在上面的。該目錄并不是以一個實際性的目錄來體現(xiàn)的,所以你訪問主頁是看不到的,但是當你 checkout 的時候,你必須為這個項目命名,至于命名默認就是 spring-framework。
- 該 Project 下有二十來個 Module,各個 Module 的命名也是有含義的,比如:spring-core、spring-jdbc、spring-jms、spring-orm、spring-web、spring-webmvc 等等,我們通過這些命名也能清楚地知道他們要表達的含義,這些 Module 下也都各自有 src 編碼目錄,可以自行編碼和構建。
Project 和 Module 介紹[重點]
相比較于多 Module 項目,小項目就無需搞得這么復雜。只有一個 Module 的結構 IntelliJ IDEA 也是支持的,并且 IntelliJ IDEA 創(chuàng)建項目的時候,默認就是單 Module 的結構的。
在輸入 Project name 的時候,Module name 和 Module file Location 自動進行改變,同時 Project location 和 Module file Location 完全一樣,這也就表示,Project 目錄和 Module 目錄是同一個,所以此時 Project 目錄下就會有 src 目錄,但是我們應該明白其本質還是 Module 的目錄。