最近经常需要安装一些插件,老是遇到安装提示成功,但是在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
在Eclipse 3.5 Gelileo中安装m2eclipse经验体会及疑惑
我经常使用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的话:再好奇的猫也会被漫长的更新下载磨掉