天天看點

eclispe3.5 安裝插件

最近經常需要安裝一些插件,老是遇到安裝提示成功,但是在preferences下看不到現象

目前eclipse3.5下安裝插件的幾種方式,請參考http://www.ibm.com/developerworks/cn/opensource/os-eclipse-equinox-p2/index.html

關于jboss tool、jbpm的插件,打開發現plugins下都是.jar.pack.gz,安裝的方式不能使用傳統的解壓features、plugins下,隻能通過update、p2方式進行。但是,通過update經常會出現上述所說的“安裝提示成功,但是在preferences下看不到現象”,真讓人郁悶。估計原因是帶寬有限,插件所需的依賴元件沒有安裝成功

關于.jar.pack程式,可以參考http://knight.iteye.com/blog/97265

轉一篇讨論稿,由于是在“牆”外,故直接粘貼過來了,謝謝他們的分享

原址是:http://groups.google.com/group/maven-zh/browse_thread/thread/85a8596c739e9831/6fe8bdfdec5b0e0a?pli=1

[size=large]

在Eclipse 3.5 Gelileo中安裝m2eclipse經驗體會及疑惑[/size]

我經常使用IDE是Intellij,但其對于Maven的支援隻限于Pom的編輯及固定功能的使用,特别是對lib依賴的管理,遠遠沒有

m2eclipse提供的完善。近一段時間來,Eclipse 3.5的釋出使用感到新版本已經在功能上成長不少,于是在轉到Eclipse下嘗試利用

Maven。

首先遇到了一個問題就是安裝方式與原有Eclipse 3.3不同了,Link方式下的Subclipse無法使用,如果成功安裝必須通過聯網安裝的方

式,安裝過程中總感覺到Eclipse 3.5不斷下載下傳新的内容,安裝等待時間很長。而且大多數時間我處于無網可聯的條件。在新機器上安裝

m2eclipse困難重重。

經過了一段時間的反複試驗,我找到以下方法成功安裝m2eclipse。前提是自行下載下傳所需的插件包,在脫機不聯網的情況下成功安裝了

m2eclipse,而且其提供的全部功能正常安裝不發生錯誤。

首先下載下傳subclipse,我使用的zip包是site-1.4.8.zip,它支援Subversion 1.5.x。下載下傳後安裝的方式是使用

Eclipse Equinox P2的安裝方法,即通過Eclipse 3.5的內建環境在菜單Help中選擇Install New

Software...彈出操作視窗後,加入新的站點,使用其中的檔案(Archive...)方式安裝已經下載下傳到本地的subclipse壓縮包(即

上面的site-1.4.8.zip)。

基本上這種安裝完全成功。m2eclipse的安裝前提是需要subclipse支援的。

安裝好subclipse後,還是不能正确安裝m2clipse插件,這是由于缺少必要的基礎支援。

它們分别是Graphical Editing Framework(簡稱GEF)和AspectJ Development Tools(簡稱

ADT)。

實際上ADT并不是必須的,GEF也可以不安裝,但在安裝m2eclipse是要取消與這些功能有關的功能支援。但是GEF支援圖形界面檢視Maven

的依賴配置還是有必要的。是以第二步先安裝GEF。實際上m2eclipse是使用GEF中的zest功能(這個功能隻是簡單的繪制圖形而沒有提供複雜

的編輯功能),但需要在Eclipse網站上下載下傳GEF SDK完整的安裝包。我下載下傳了壓縮封包件是GEF-ALL-3.5.0.zip,直接将其解壓

縮到已安裝的Eclipse 3.5的dropins檔案夾即可。

啟動Eclipse 3.5 後可在About...中的插件管理中發現GEF。

下一步是安裝ADT,這有點小問題,它安裝的方式與位置與GEF相同,但下載下傳的壓縮包要進行調整。我下載下傳的檔案是

ajdt_2.0.0_for_eclipse_3.5.zip,打開壓縮包發現與GEF的格式不相同,頂層沒有eclipse檔案夾。是以需要解壓縮

後,加入Eclipse檔案夾,即包的結構是

---eclipse

|------features

|------plugins

然後再打成zip的壓縮包,我的包名更名為:AJDT-2.0.0-dropins.rar。同樣将其解壓縮到已安裝Eclipse 3.5的

dropins檔案夾中。在Windows下使用有一點小問題,即WinRAR解壓縮時會提示路徑太長檔案無法建立,可以先解壓縮到根目錄的中,其後再

複制Eclipse的dropins檔案夾。

好了,最後隻剩下安裝m2eclipse了。令人遺憾的是在m2eclipse網站上沒有提供zip的方式,隻能通過聯網更新。當然你的網速很快直接更

新即可。也重新安裝也是十分不便。經過幾番查找,網上有人提供了如下位址http://m2eclipse.sonatype.org/

update.tgz,這是個m2eclipse沒有公布的更新包,下載下傳後重新壓縮成zip格式,其中目錄結構不要做任何更改。

此壓縮包重命名為m2eclipse-0.9.7.200904021036.zip。因為我發現下載下傳的m2eclipse插件版本是0.9.7。比聯

網更新的版本低了點(說明:通過如下網址http://m2eclipse.sonatype.org/update/更新的版本是0.9.8。當然你

也可以利用如下網址http://m2eclipse.sonatype.org/update-dev/更新正在開發的某一穩定版本)。但也是很好用

的。再說這個壓縮包在脫機條件下可友善使用。最後,安裝這個壓縮包,安裝的方式與subclipse一樣,通過Eclipse中的p2方法,還是将站點

設定為存檔方式指向這個壓縮包。

大功告成,你現有可以體驗subclipse與m2eclipse的插件帶來的卓越功能了。

一點疑問:

這是我成功安裝subclispse與m2eclipse的方法。但是有些地方我也沒有完全弄清這些方式正确工作的原因,比如Eclipse 3.5的

插件安裝Link方式對subclipse與m2eclipse都無法成功安裝,p2的安裝方式将這兩個插件内容均複制到Eclipse的環境中,使新

版本更新十分不便。不知大家還有更好的方法麼?(這好象有點超出了Maven相關的内容)

寫了很多,不知道是否違反本論壇的要求,不當之處多多諒解(有了問題無人可問,有了發言的機會很高興,誰知其中滋味)。有值得借鑒的地方給大家提供點幫

助。感謝大家。

---------------------------------------------------------

link方式我至今未在eclipse官方文檔裡看到過介紹,一直懷疑其為山寨做法,故我一直棄之不用,特别是eclispe3.4開始引入p2以後,就再沒用­過。

p2的安裝方式将這兩個插件内容均複制到Eclipse的環境中,使新

版本更新十分不便。

更新怎麼不友善了?選中要更新的plugin直接update就行了啊。如果更新後發現新版用着不爽,還可以友善的revert到先前的installatio­n。如果看哪個plugin不爽,還可以直接delete(如果後悔了,通用可以revert回來)。

至于你對“内容均複制到Eclipse的環境中”有意見,你是想在多個eclipse執行個體共享plugins?一種辦法是建立一個共享的dropins檔案夾,­在eclispe.ini裡指向這個檔案夾,把plugin丢進去,齊活了~

另外一種,利用eclipse equinox p2

installer安裝eclipse,可以選擇共享方式安裝,即多個eclipse執行個體共享一個eclipse plugins

repository,所有plugins

都在一個位置,這樣每個eclipse執行個體的體積在幾M大小,因為隻包含configuration。這種方式同樣可以對plugin進行update/del­ete/revert,而不用擔心影響到其他eclipse執行個體,因為事實上這些操作改變的隻是目前eclipse執行個體的configuration,而不會删­除任何公用的plugin

--------------------------------------------------------------

再說一下 線上安裝 vs. 下載下傳回來本地安裝

下載下傳回來本地安裝

才會“使新版本更新十分不便”!在這種情況下,你告訴我你怎麼更新新版本?重新下載下傳一個新版回來link一下?這樣你得手動去檢查更新,手動去找到新版本下載下傳,­手動去找齊各種依賴bundle,手動管理版本沖突,手動管理依賴關系……

在我看來這無異噩夢一場。 這些使用線上安裝的話,利用p2強大功能,利用osgi動态依賴解決,一切都是自動的。

舉例來說,你上面說“m2eclipse的安裝前提是需要subclipse支援”,其實不然,隻要你安裝m2eclipse時先不選擇m2eclipse對s­ubclipse的整合子產品,即可順利安裝了。

如果你需要安裝這些額外的支援子產品,簡單,你把subclipse的update site添加到eclipse

p2,然後選上m2eclipse對subclipse的整合子產品,即可順利安裝。注意,你無需選擇subclipse裡的任何plugin,eclipse

p2會自己解決依賴問題。

還有,你說的安裝GEF的問題,同樣可以用上述方法解決。GEF的update site應該預設就加入eclipse

p2系統了,無需勞駕您了。你隻要在安裝plugin時選擇“聯系所有站點以解決依賴”,即可。 你也可以在eclipse官方網站下載下傳 eclipse for

Java EE 版本,預安裝了GEF的(同時預安裝了一系列用于Java EE開發的很實用的plugins)

-----------------------------------------------------------

其實你類比一下用maven來管理artifacts,用p2來管理eclipse plugin(osgi

bundle)是一樣的思想。不要還想着手動來管理,如今eclipse

plugin的子產品化程度越來越高,互相之間依賴越來越複雜,人工管理是應付不來的。與時俱進吧,适應自動化管理。

再羅嗦幾句,eclipse

plugin的子產品化程度越來越高,有何好處?可以做到按需安裝,需要哪些才安裝哪些,要做的這點,需要搞明白他們之間的依賴關系,這靠人去搞明白,那是太累了­,隻有交給機器,交給p2。

否則就隻能下載下傳一大堆打包在一起的插件包回來,也搞不清楚哪些是真正需要的,哪些是用不上的,隻能籠而統之的全裝上去。

就像沒有使用maven來管理項目中的類庫時,隻能将一堆一堆的jar,不管用到用不到(因為搞不清楚了),統統丢進lib目錄裡去,于是類庫備援,版本沖突…­…一堆問題接踵而來

---------------------------------------------------------------

謝謝,增長了不少知識。我提的兩個問題第二少給出睿智的解答,我真的收獲不少。

Eclipse 3.5中的安裝方式在帶寬充足的環境中真是無限風光,無奈我們這些無法獲得這樣優越條件的地方,隻好依靠自己的一些土方法來解決網速

慢,更新困難的問題。Dearshor兄您别見笑,有時我的機器挂在網上整整一天也沒見Eclipse下載下傳幾個完整的包,還經常斷掉,更不用說台風亂斷

光纜這種情況更是欲哭無淚。更多的時候我們隻能充分利用區域網路,哎...

我可能還會有一些“不良”方法,但在學習的過程中也發現有所助力,希望給大家啟示,少些彎路,多些捷徑。期待與第二少兄更多交流。

-------------------------------------------------------------------

我一直有個設想,像用nexus部署maven repo私服一樣,在本地區域網路部署一個eclipse update site(p2

repository)私服…… [?]

2009/8/25 徐 立昕 <[email protected]>

> 謝謝,增長了不少知識。我提的兩個問題第二少給出睿智的解答,我真的收獲不少。

> Eclipse 3.5中的安裝方式在帶寬充足的環境中真是無限風光,無奈我們這些無法獲得這樣優越條件的地方,隻好依靠自己的一些土方法來解決網速

> 慢,更新困難的問題。Dearshor兄您别見笑,有時我的機器挂在網上整整一天也沒見Eclipse下載下傳幾個完整的包,還經常斷掉,更不用說台風亂斷

> 光纜這種情況更是欲哭無淚。更多的時候我們隻能充分利用區域網路,哎...

> 我可能還會有一些“不良”方法,但在學習的過程中也發現有所助力,希望給大家啟示,少些彎路,多些捷徑。期待與第二少兄更多交流。

--

Best regards and wishes.

第二少(Dearshor)

----------------------------------------------------------------

是個好點子,我也覺得Eclipse與Maven在管理機制上有幾分相似。期待Dearshor兄構想的站點能早點建立,不要總去通路國外的網站。總是

受人鉗制。

我們的Nexus已經使用國内的鏡像了,速度比以往快了許多

-----------------------------------------------------------------

Nexus Pro 有這樣一個插件的,可惜收費,呵呵。

-----------------------------------------------------------------

跟你們公司決策層提提意見,讓這個東西早日免費,以造福 徐 立昕 這樣的國人啊 [?]

-----------------------------------------------------------------

公司也要賺錢的,畢竟這玩意兒還很新,市場沒有競争對手呢。

不過你們可以搞個開源的版本,我就不明着參與了,省的被fire,不過暗地裡可以支援下的,嘿嘿。

--------------------------------------------------------------------

找時間來研究下怎麼寫nexus plugin…… 吼吼~ [?]

-------------------------------------------------------------------

确實需要,要不然實在體驗不到p2的優越性

借用某人評價maven的話:再好奇的貓也會被漫長的更新下載下傳磨掉

繼續閱讀