每次Eclipse升级更新,未免要重装一些常用的插件.为了避免每次都
Online Eclipse updae site
,Eclipse推出了另外外两种方式:
1.
Local Eclipse update site
2.
drop-ins
.很多插件的下载地址都提供了offline-update-size.zip的形式,然后用采用本地更新,可以很方便的安装插件,这是在你网络情况不是特别好的情况下非常好的一个选择.
不过这里我主要想着重讲一下dropins,因为我觉得很多用它加载插件存在很多 误区 ,而这些误区会让你出现很多莫名其妙的问题.比如昨天我折腾了几个插件的drop-ins安装,遇到了如下几个问题:
1.如加载supclipse插件,从网上下载的离线包是subclipse-1.10.6.zip,然后解压放进dropins.然后重启eclipse,可能会发现没有问题.插件正常加载了.如果问题就这么简单的话,那就没必要写这篇随笔.
2.后续又用这种方式安装了插件color-theme,jd等插件.这时候再重启eclipse,发现所有的插件都不好用了包括之前的subclipse.这时候你打开Error视图,可以很到很多加载插件的错误.当然网上很多资料说可以再eclipse启动时clean一下抑或是修改Config.ini等.这个有时候对一些插件可能加载可能没有问题,但是这并不能解决所有问题。比如你更改了一下dropins下子目录的名字,如将subclipse改成大写或者新增,移除某一个子目录,会有这样或者那样的问题,而最终导致的结果就是不是所有的在dropins下的插件都能正常加载,如subclipse插件没问题,但是color-theme插件有问题,这个时候你会非常头痛!
所以这里有必要讲一下dropins加载插件需要注意的地方,参考自: https://wiki.eclipse.org/Stardust/Knowledge_Base/Getting_Started/Installation ,这里我贴出一段:
- Install features as drop-ins - This is a good choice if you:
- know what you are doing
- are sure that you have the right Eclipse version with all required dependencies installed
- are familiar enough with the eclipse plug-in mechanism and know how to install missing dependencies if needed
- rather perform some steps in the file system than walk through the dialogs of the (local) Eclipse update site installation
- want to separate the new features from you Eclipse installation on file system level
- want to automate the installation for multiple environments
1.要注意和Eclipse版本的兼容性问题.这里举一个明显的例子就是m2e.m2e 1.5.0 requires Eclipse Luna. It will not work with Kepler or Indigo.参见: http://stackoverflow.com/questions/24479109/maven-for-eclipse-1-5-0-plugin-cannot-be-installed-under-kepler
2.你要十分熟悉eclipse的插件机制并且知道如何安装所需的全部依赖(因为eclipse插件安装需要依赖很多其他的库)
3.和Local Eclipse update site installation的图形界面对话框似的操作对比,你需要自己在文件系统做一些处理...
......
从上述来看,并非是任何一个人直接拿一个离线插件包解压缩扔到dropins目录就行,这里涉及到版本兼容,依赖,额外处理的很多东西.这里再举一个例子,参见: https://developer.jboss.org/thread/149349?tstart=0 ,这里提到一个解释,我觉得很好,即"We no longer provide a "runnable" zip of all of JBoss Tools for install-by-unzip into dropins, because installation that way is error-prone (particularly on Windows) and doesn't bring in third-party dependencies like birt, maven, or svn",从这里明显看出并未简单的一个zip包解压放到dropins目录就能处理所有问题.
通过以上,得出一个结论就是:用dropins安装zip插件远远不是那么简单->那么给遵循一个什么原则呢?
1.查看下载的zip包,如果是类似于update-site的zip包,其实这是离线更新包,正确的安装用法应该是用Eclipse Local update site installation.->这种包不应该放到dropins,即便有几率会成功,但是是非常规手段。
2.虽然有些zip包名字是类似update-site的包,但是其解压缩后只有features和plugins两个子目录而没有额外的东西,这样的包其实很多直接解压放到dropins目录下进行加载的。
3.查看zip包内容,如果包含content.jar/artifacts.jar/site.xml等文件的,一定要用Local update site installtion.因为这种是插件更新包,是专门用来本地更新安 装的,会装额外的依赖等.
参考: http://stackoverflow.com/questions/5482554/how-to-install-plugin-for-eclipse-from-zip
最后,附录几个m2e各个版本插件的update-site.zip包(大家懂得,在线安装m2e是很痛苦的),这些包是我一个个在 https://www.eclipse.org/m2e/m2e-downloads.html ,进入所有版本的目录(Show Directory Contents)将zip内所有的东西全部下载然后整合到一起的.吐槽一下m2e插件的下载,不给提供zip下载,只让你看到zip内的东西...。当然这里我推荐大家用Eclipse 4.4,Luna,其内置了m2e,且其插件版本是比较新的1.5.0.20140606-0033.
那么我最后提问一下,这个m2e离线更新包如何安装呢?哈哈,当然是采用Local update site installtion,千万注意不要用dropins,会加载不了,因为很多依赖问题解决不了!
附m2e各版本update-site.zip包网盘下载地址: http://pan.baidu.com/s/1qW0onvu