clispe想必大家都很熟悉了,一般来说,eclipse 插件都是安装在plugins目录 下。不过这样一来,当安装了许多插件之后,eclipse变的很大,最主要的是不便 于更新和管理众多插件。用links 方式安装eclipse插件,可以解决这个问题。
现在假设我的 eclipse安装目录是D:\eclipse,待安装插件目录是D:\plug-in , 我将要安装LanguagePackFeature(语言包)、emf-sdo-xsd-SDK、GEF-SDK、 Lomboz这四个插件。
先把这四个插件程序全部放在D:\plug-in目录里,分别解压。如 Lomboz3.0.1.zip解压成Lomboz3.0.1目录,这个目录包含一个 plugins目录,要先 在Lomboz3.0.1目录中新建一个子目录eclipse,然后把plugins目录移动到刚建立 的eclipse目录中,即目录结构要是这样的:D:\plug-in\Lomboz3.0.1\eclipse\ plugins
Eclipse 将会到指定的目录下去查找 eclipse\features 目录和eclipse\ plugins 目录,看是否有合法的功能部件和(或)插件。也就是说,目标目录必须 包含一个 \eclipse 目录。如果找到,附加的功能部件和插件在运行期配置是将是 可用的,如果链接文件是在工作区创建之后添加的,附加的功能部件和插件会作为 新的配置变更来处理。
其它压缩文件解压后若已经包含eclipse\plugins目录,则不需要建立eclipse 目录。
然后在 eclipse安装目录D:\eclipse目录中建立一个子目录links,在links目 录中建立一个link文件,比如 LanguagePackFeature.link,改文件内容为 path=D:/plug-in/LanguagePackFeature 即这个link文件要对应一个刚解压后的 插件目录。
说明:
1. 插件可以分别安装在多个自定义的目录中。
2. 一个自定义目录可以安装多个插件。
3. link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以。
4. link文件中path=插件目录的path路径分隔要用\\或是/
5. 在links目录也可以有多个link文件,每个link文件中的path参数都将生效。
6. 插件目录可以使用相对路径。
7. 可以在links目录中建立一个子目录,转移暂时不用的插件到此子目录中, 加快eclipse启动。
8. 如果安装后看不到插件,把eclipse 目录下的configuration目录删除,重 启即可。
···删除Configuration文件夹后,再重启 eclipse时有时会在log文件中报以下的 错误:
=============================================================================
!SESSION 2007-05-23 09:53:43.187 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.5.0_10
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.osgi 4 0 2007-05-23 09:53:43.609
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:65)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
====================================================================
此 时的解决方法是,将config.ini文件复制到Configration文件夹下(比如重新下 载一个eclipse,其下的Configruation文件夹下就有config.ini文件,平时可以将 它放在links文件夹下的子文件夹下——因为大多数情况下,安装了插件后,会删除 Configration文件夹)。