为了更好的学习Eclipse插件开发,决定详细了解一下Eclipse架构和源码,顺便学习一下架构设计,与大家分享。
Eclipse在3代采用OSGi框架来管理组件,OSGi框架Eclipse的实现是equinox项目,这个项目的信息我后面的学习过程中和大家一起分享,本章只是介绍一下Eclipse的启动相关的信息。
以下说明的eclipse以3.7版本为主。
Eclipse由eclipse.exe执行启动,Eclipse.exe主要是搜集系统信息,加载eclipse.ini进行配置,然后启动JVM。
Eclipse.ini包括两部分,其一是提供给eclipse.exe执行的JVM参数信息,其二是加载。配置信息的结果可以在Eclipse->About Eclipse SDK->Installation Details->Configuration查看。Eclipse.ini中的配置如下:
1.启动
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
这段配置是制定启动的jar。这个参数是提供给eclipse.exe启动Java时用的,Java启动时调用该包中Main Class,即org.eclipse.equinox.launcher.Main方法启动。这个类的执行过程会在后面的介绍。
2.类库
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
采用OSGi框架后,eclipse启动时需要使用OSGi框架的dll文件,为equinox框架提供本地函数支持。
3.DEBUG
-debug:开启debug模式
4.加载闪屏
-showsplash
org.eclipse.platform
-nosplash标识不显示
5.开发模式
-dev启动开发模式,目前还没研究过
6.指定JRE位置
-vm
c:\.....\javaw.exe
如果没有指定,eclipse.exe将自动搜索JRE
7.虚拟机参数
-vmargs
-Xms40m
-Xmx512m
在配置中,虚拟机参数是最后一行,它之后的所有数据都将加入到vm参数中。
其他配置参数
-framework:OSGi框架相关配置,暂时没了解用途,深入了解启动类后给出说明。
-os:指定当前操作系统,一般由eclipse.exe提供
-wf:窗口框架,一般由eclipse.exe提供。因为在不同操作系统中窗口框架一般不同。
例如:Windows的win32、wpf(Vista窗体)、motif、gtk、photon、carbon、cocoa
-arch:x86,x86-64,一般由eclipse.exe提供
下一节主要将eclipse的启动类org.eclipse.equinox.launcher包的内容