最近經常需要安裝一些插件,老是遇到安裝提示成功,但是在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到先前的installation。如果看哪個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/delete/revert,而不用擔心影響到其他eclipse執行個體,因為事實上這些操作改變的隻是目前eclipse執行個體的configuration,而不會删除任何公用的plugin
--------------------------------------------------------------
再說一下 線上安裝 vs. 下載下傳回來本地安裝
下載下傳回來本地安裝
才會“使新版本更新十分不便”!在這種情況下,你告訴我你怎麼更新新版本?重新下載下傳一個新版回來link一下?這樣你得手動去檢查更新,手動去找到新版本下載下傳,手動去找齊各種依賴bundle,手動管理版本沖突,手動管理依賴關系……
在我看來這無異噩夢一場。 這些使用線上安裝的話,利用p2強大功能,利用osgi動态依賴解決,一切都是自動的。
舉例來說,你上面說“m2eclipse的安裝前提是需要subclipse支援”,其實不然,隻要你安裝m2eclipse時先不選擇m2eclipse對subclipse的整合子產品,即可順利安裝了。
如果你需要安裝這些額外的支援子產品,簡單,你把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的話:再好奇的貓也會被漫長的更新下載下傳磨掉