【方法三】eclipse platform是支持把plugin安装到其他目录的,不过它对这些目录是有要求的:该目录必须有一个名为eclipse的子目录,eclipse子目录下必须有一个.eclipseextension文件,plugin本身放在eclipse子目录下的features和plugins目录下。这样的一个位置就是一个eclipse extension,.eclipseextension文件描述了这个eclipse extension,包括三项name、id和version;可以有多个eclipse extension,具体创建几个eclipse extension,每个eclipse extension包含哪些plugin,完全视情况而定,比如可以把关系比较密切的几个plugin放在一个eclipse extension中。
显然我们必须告诉eclipse platform这些eclipse extension的位置才行,这有两种方法:
- 当eclipse启动后用,打开Help->Software Updates/Manager Configuration,用Add an Extension Location来添加eclipse extesnion,指定的位置将会被存放到当前的configuration里
- 在eclipse platform所在的eclipse目录下建一个links目录,多个插件可以定义一个***.link,一个path=location一行;或者定义多个***.link文件,每个包含一个path=location。路径分隔符为正斜杠,如果用反斜杠必须用两个以转义
配置好eclipse extension后,这些eclipse extension中的plugin就和eclipse platform/sdk中的plugin,按照extension和extension point的关系,共同形成了一个插件网络,这时各个plugin的位置已经没有区别了,你甚至可以指定运行位于eclipse extension中的product。
一般的plugin包都会把eclipse目录打进去,这样只要把该包直接解压到选定的 eclipse extension目录中即可,不过如前所述,要成为真正的eclipse extension目录,还需要一个.eclipseextension文件,除了手工建立外,当从update site安装plugin时还可以让eclipse来建立它,只要在安装对话框弹出时选择change location指定一个目录即可。