? 可以
【方法一】簡單地把plugin放到eclipse SDK本身的features和plugins目錄下來進行plugin的安裝,但是這種方法并不利于plugin的管理:
- 雖然可以通過【方法二】eclipse SDK的update功能來升級自身,然而因為速度的原因我們一般還是會選擇完全下載新版本,這樣就需要把后來安裝到eclipse SDK目錄下的plugin都挑選出來并拷貝到新版本的eclipse SDK目錄下,如果這樣的plugin比較多的話將會有些麻煩。
- 有時候會共存多個版本的eclipse SDK,顯然我們并不想把這些plugin拷貝到每個版本的eclipse SDK里
【方法三】eclipse platform是支持把plugin安裝到其他目錄的,不過它對這些目錄是有要求的:該目錄必須有一個名為eclipse的子目錄,eclipse子目錄下必須有一個.eclipseextension文件,plugin本身放在eclipse子目錄下的features和plugins目錄下。這樣的一個位置就是一個eclipse extension,.eclipseextension文件描述了這個eclipse extension,包括三項name、id和version;可以有多個eclipse extension,具體創(chuàng)建幾個eclipse extension,每個eclipse extension包含哪些plugin,完全視情況而定,比如可以把關(guān)系比較密切的幾個plugin放在一個eclipse extension中。
顯然我們必須告訴eclipse platform這些eclipse extension的位置才行,這有兩種方法:
- 當eclipse啟動后用,打開Help->Software Updates/Manager Configuration,用Add an Extension Location來添加eclipse extesnion,指定的位置將會被存放到當前的configuration里
- 在eclipse platform所在的eclipse目錄下建一個links目錄,多個插件可以定義一個***.link,一個path=location一行;或者定義多個***.link文件,每個包含一個path=location。路徑分隔符為正斜杠,如果用反斜杠必須用兩個以轉(zhuǎn)義
第一種方法是把eclipse extension的位置保存在當前configuration中,因此用這種方法指定的eclipse extension是特定于configuration的,不同的configuration可以具有不同的eclipse extension配置,可以在啟動時用-configuration選項來選擇一個configuration,但是似乎當添加完eclipse extension后是不能刪除的,只能disable,而且多個configuration也帶來了管理的負擔;第二種方法比較明了,但它是 configuration insensitive的,不管以哪個configuration運行這些eclipse extension都是可見的,這里不用擔心內(nèi)存的占用問題,因為eclipse的plugin都是lazy loading的,用不到的plugin是并不會占用內(nèi)存空間的,不過可能會有plugin沖突問題,比如兩個插件在同一個extension point處擴展,而對extension point的處理又是不可配置的,比如選擇extension的策略是找到的第一個extension,而此時如果我們希望運行的extension恰好排在第二位,那么就有問題了,這時可能就需要兩種方法都用到了。
配置好eclipse extension后,這些eclipse extension中的plugin就和eclipse platform/sdk中的plugin,按照extension和extension point的關(guān)系,共同形成了一個插件網(wǎng)絡(luò),這時各個plugin的位置已經(jīng)沒有區(qū)別了,你甚至可以指定運行位于eclipse extension中的product。
一般的plugin包都會把eclipse目錄打進去,這樣只要把該包直接解壓到選定的 eclipse extension目錄中即可,不過如前所述,要成為真正的eclipse extension目錄,還需要一個.eclipseextension文件,除了手工建立外,當從update site安裝plugin時還可以讓eclipse來建立它,只要在安裝對話框彈出時選擇change location指定一個目錄即可。
posted on 2007-02-13 11:18
保爾任 閱讀(306)
評論(0) 編輯 收藏