Project和Module的介紹

2021-09-07 07:29:59 字數 1450 閱讀 6465

這兩個概念是 intellij idea 的必懂知識點之一,請務必要學會。

如果你是 eclipse 使用者,並且已經看了上面給的鏈結,那 intellij idea 首先告訴你乙個非常重要的事情:intellij idea 沒有類似 eclipse 工作空間(workspace)的概念的。很多從 eclipse 轉過來的人總是下意識地要再同乙個視窗管理 n 個專案,這在 intellij idea 是無法得到。intellij idea 提供的體驗是:乙個 project 開啟乙個 window 視窗。

對於 project,intellij idea 是這樣解釋的:

對於 module,intellij idea 是這樣解釋的:

通過上面的介紹我們知道,在 intellij idea 中 project 是最頂級的級別,次級別是 module。乙個 project 可以有多個 module。目前主流的大型專案結構都是類似這種多 module 結構,這類專案一般是這樣劃分的,比如:core module、web module、plugin module、solr module 等等,模組之間彼此可以相互依賴。通過這些 module 的命名也可以看出,他們之間應該都是處於同乙個專案業務情況下的模組,彼此之間是有不可分割的業務關係的。

所以我們現在總結:乙個project是由乙個或多個module組成,模組之間盡量是處在同乙個專案業務的的情況下,彼此之間互相依賴關聯。這裡用的是盡量,因為 intellij idea 的 project 是乙個沒有具備任何編碼設定、構建等開發功能的,主要起到乙個專案定義、範圍約束、規範等型別的效果,也許我們可以簡單地理解為就是乙個單純的目錄,只是這個目錄命名上必須有其代表性的意義。

下面我們以著名的spring-framework專案為例介紹多 module 的結構的:

關於 intellij idea 的 project 和 module 終於解釋清楚了,但是由於 intellij idea 官網上又有一段話對此解釋得不夠好,特別是對 eclipse 使用者來講:其中有這樣兩句話:

你可以把 intellij idea 的project當做workspace使用,intellij idea 也是支援的,但是就像我們前面解釋的那麼那麼多,這樣是非常不符合其初衷的,所以請別把這段話當做教義去學習。對此 zeroturnaround 的大牛也有針對此進行了說明:

在乙個專案下新建module(模組)就可以實現專案下面新建專案了。

Lua的require和module小結

lua的require和module小結 module特性是lua5.1中新增的,用於設定lua檔案自己的模組,最常用的方式是module name,package.seeall 有時候lua檔名和module設定的名字不一樣,到底require的時候該 require檔名還是require模組 m...

Project的許可權

project的許可權 昨天,我花了一天的時間來研究project server的應用模式和許可權分配。project server中用了三種結構來控制許可權。首先有使用者和組,你可以直接選擇他們的全域性許可權,也就是說能不能登陸伺服器,能不能開啟哪些功能,都是通過全域性許可權來控制。而且它還提供了...

ruby裡面module和class的區別

一句話概括,就是 class可以例項化 module不可以 別的都一樣 關於繼承的一點區別 class是使用 作為繼承的關鍵字,只支援單繼承 module是使用include來做例項繼承 例項化的時候動態功能插入 extend做類繼承 可以理解為static繼承 module的應用場景 作為name...