Eclipse启动之二:Eclipse动态库(百度空间迁移)

 

动态库中的主要实现文件是:eclipse.c

其主要功能定位启动Java虚拟机和显示Splash窗口(暂未用,通过在org.eclipse.equinox.launcher.Main中调用来显示)

java虚拟机定位算法:

1.从-vm参数所指定的文件或目录中查找

2.如果没有指定-vm参数,程序会寻找Eclipse自带的JRE,它会在当前目录中查找jreinjavaw.exe

3.按照系统的环境变量指定的路径去查找javaw.exe

其中,通过-vm参数指定虚拟机位置可以有多种选择:

1.目录名:则到指定目录下寻找default.ee文件,如果没有则查找java虚拟机可执行程序javaw.exe。如果还没有继续找java虚拟机动态库文件jvm.dll;

2.执行环境描述文件.ee

3.java虚拟机动态库文件

4.java虚拟机可执行文件

找到java虚拟机以后下一步是寻找startup.jar

1.到-startup参数指定目录下查找

2.到plugins目录下查找以org.eclipse.equinox.launcher开头的jar文件

3.到程序的启动目录下查找(兼容以前的启动模式)

Splash窗口图标定位算法:

1.判断是否含有-nosplash参数,有则不显示Splash窗口

2.如果有-showsplash 参数且参数指向一个文件,则直接返回指定文件

3.如果有-showsplash 参数且参数指向一个目录,则定位到指定目录下的splash.bmp文件

4.如果还未找到,则将参数做/path/prefix_<version>分割,然后去/path/prefix目录下寻找

5.如果还未找到,最后到Plugins目录下+参数指定路径下查找

最后虚拟机启动完成,通过虚拟机加载org.eclipse.equinox.launcher.<version>包下的"org.eclipse.equinox.launcher.Main"类,然后调用其Run方法

原文地址:https://www.cnblogs.com/fengpeng/p/4628374.html