zoukankan      html  css  js  c++  java
  • 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方法

  • 相关阅读:
    百分比布局中的居中
    struts2常用标签详解
    Struts2常用标签总结
    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法
    Dbutils学习(介绍和入门)
    Ajax与JSON的一些总结
    CURD定义
    java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    a标签设置高度不生效问题
    使用iframe标签时如何通过jquery隐藏滚动条
  • 原文地址:https://www.cnblogs.com/fengpeng/p/4628374.html
Copyright © 2011-2022 走看看