将features目录下的升级网站替换成新的网址后,问题还是不断出现。在过了一段时间后,每次升级依旧会到各个不同的网站去找,先是下载contents.jar,再去找一些老版本的jdt等插件,情形令人发指。在线安装m2eclipse,光是前面的选择、依赖分析差不多要半个小时,有时干脆就不动了。于是再去研究equinox p2,在wiki.eclipse.org上把p2的资料基本看了一篇,确有一些优化的办法。如使用mirror,将那些contents.xml的内容备份在本地,这样可以每次打开升级网站的软件目录时,直接在本地读取。也可将artifact备份在本地,甚至可以用p2 agent来定制不同环境下的eclipse,这些eclipse可以共享相同的目录。然而,所有这些办法,还是不能解决在线升级慢的问题。
问题最后的答案是在equinox的新闻组上,有人提出了这样的问题,一个已经打包好的update site,为什么在genymede的安装过程中还要到处去下载插件,当前安装中明明已经有了新版本,安装过程中又为什么会去下以前版本的插件?原来这些问题到并不像人想像的,是因为国内网络环境的限制,全世界皆然。对这个问题的回答,非常简单:这是ganymede版本中equinox p2的bug,要想有好的体验,就用ecllipse 3.5吧。
新版的eclipse叫做galileo,是不是“伽利略”不得而知,目前还处理M7,还未正式发布,我试用了一下,果然这里的p2升级网站是可以配置的,有些比较慢的网站可以设置成disable,不再把download.eclipse.org设置为默认升级站。感觉不方便的地方它干脆不提供升级网址,得自己去找,插件之间的依赖关系在安装时变得重要,很多东西需要事件明确当前插件所依赖的插件是否已经安装,安装的版本是否兼容等。试用一回,用subclipse升级包安装subclipse,三分钟就搞定了,真是无法用语言形容地痛快。m2eclipse的安装还是麻烦,因为这个网站太慢,又没有公布打包的升级站,问题又是很多,等得痛苦。前不久在网络上搜索到m2eclipse网站上有个没有公布的升级包,网址是http://m2eclipse.sonatype.org/update.tgz,不知出于何种原因,这个网站居然不公布。现在既然已经找到了,那就下载下来,把里面的文件夹整理一下,打包成zip,再来升级,居然马上装好了。subclipse和m2eclipse是我最常用的两个插件,现在它们的安装已经变得非常方便,算是解决了以前的问题。所以在线升级的最终解决方案还是把site下载到本地再装,所谓升级优化也就名不副实了。