浅谈Eclipse dropins插件安装的"坑"

    每次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
        大概意思是如果使用dropins这种方式加载插件,
        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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值