Eclipse启动之三 : 启动器插件(百度空间迁移)

Eclipse启动之三启动器插件

  • 空间
 

启动插件名为org.eclipse.equinox.launcher.<version>,入口类org.eclipse.core.launcher.main.它是Eclipse虚拟机启动的最早的插件

main整体流程:

1.处理命令行参数

2.设置虚拟机属性

3.处理配置

4.获取安装路径

5.获取启动路径

6.加载JNI动态库

7.设置安全属性

8.处理闪屏

9.启动Eclipse核心框架

 

1.处理命令行参数           解析命令行参数

-showsplash            定位闪屏文件参数

-vmargs                  java虚拟机参数

-nl                           本地语言设置                     对应系统属性osgi.nl

-vm                        定位java虚拟机参数

--launcher.library    外壳程序动态库路径

-launcher                launcher程序所在位置

-startup                  startup.jar所在的位置

-name                    启动程序所用的名字            对应系统属性eclipse.launcher.name

-exitdata                退出数据

-configuration        配置文件位置                       对应系统属性osgi.configuration.area

-install                    安装路径                              对应系统属性osgi.install.area

 

 

2.设置虚拟机属性           将解析的虚拟机参数设置到系统属性中

系统属性eclipse.vm                       来源于参数-vm

系统属性eclipse.vmargs                来源于参数-vmargs

系统属性eclipse.commands           来源于整个命令行

 

3.处理配置文件

定位配置文件config.ini算法:

1.读取系统属性osgi.configuration.area

2.如果第一步未找到则读取系统属性osgi.baseConfiguration.area

3.读取osgi.configuration.cascaded属性 如果属性值为true,表示需要级联的配置文件,则读取读取系统属性osgi.sharedConfiguration.area

4.如果第三步中未找到配置文件,则在安装路径下/configuration目录中定位

5.将配置文件中的属性合并到系统属性中

6.读取系统属性osgi.framework,其值为启动路径

 

8.处理闪屏          显示闪屏窗口

定位闪屏图标splash.bmp的算法

1.读取系统属性osgi.splashLocation

2.如果第一步中未找到,则读取osgi.splashPath属性.一般此属性在配置文件中指定

此步中保存了2个系统属性

org.eclipse.equinox.launcher.splash.handle    闪屏窗口的句柄

org.eclipse.equinox.launcher.splash.location  闪屏图标的位置

 

9.启动Eclipse核心插件           创建URL类加载器,并调用org.eclipse.core.runtime.adaptor.EcluipseStarter的run方法

其中通过系统属性osgi.parentClassLoader 或者osgi.frameworkparentClassLoader指定URL类加载器的父加载器,从而决定了程序可访问的类范围

未指定的话,父类加载器为BootStrapClassLoader.

属性值 boot       表示BootStrapClassLoader

属性值app         表示 SystemClassLoader

属性值ext          表示ExtensionClassLoader

属性值Current    表示当前类加载器

转载于:https://www.cnblogs.com/fengpeng/p/4628378.html

【Flink】FlinkSQL如何触发执行计算 Table (通过 StatementSet.addInsert() 输出给某个 Sink)和 INSERT 语句 (通过调用 StatementSet.addInsertSql())会先被缓存到 StatementSet 中,StatementSet.execute() 方法被调用时,所有的 sink 会被优化成一张有向无环图。该方法是用来将一个表的内容插入到目标表中,一旦该方法被调用, TABLE API 程序立即被翻译。该方法是用来执行一个 SQL 语句,一旦该方法被调用, SQL 语句立即被翻译。 阅读详情

相关推荐

SAP BOM批量反查代码分享

SAP BOM反查批量查询代码分享

我小时候很黑的博客 4887

eclipse 运行时提示找不到plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar

eclipse启动 出现问题: 问题一:找不到 plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar 截图 一部部推导: 初始的情况 就是上面显示:明显看到 path 中不存在 中文字符 ,重点来了一点,路径千万不要有中文字符。 我的解决方式: 第一步:找到配置文件查看:eclipse.ini 文件,观看 ...

让你一生残梦的博客 4181

org.eclipse.equinox

org.eclipse.equinox.executable org.eclipse.equinox.launcher org.eclipse.osgi org.eclipse.osgi.tests 另加几篇分析的文章

Eclipse探秘-第一章-Eclipse启动(2)-org.eclipse.equinox.launcher

这个包的Main Class是org.eclipse.core.launcher.Main.main,在3.0版本前,一直是通过startup.jar包中这个类里启动Eclipse,3.0版本后采用了OSGi框架,OSGi的框架中Eclipse的实现是equinox项目,在3.0版本后,原来的startup.jar合并到了equinox的launcher包中。org.eclipse.core.la...

weixin_30443075的博客 809

启动eclipse3.5.1 报错关于org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar

今天启动eclipse,突然报错无法启动,记录一下(org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar) 看ecplise.ini文件 -startup plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar --launcher.library plu

面向对象设计专栏 3633

eclipse配置

-startup plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140116-2212 -product org.eclipse.epp.p

ygl6150373的博客 558

Eclipse入门基础知识

1.打开 Eclipse,首先 Eclipse是以项目为单元,首先弹出的是  Workspace Launcher  点击OK按钮。 2.workspace     工作目录 新建一个JAVA工程  :File——New——Other…——New窗口 Java——Java Project——Next——New Java Project Projec

Reserved_person的博客 1773

Rcp应用在启动时出现找不到org.eclipse.equinox.launcher.Main类错误

最近在在开发rcp应用中,当发布应用后并运行时,弹出提示找不到org.eclipse.equinox.launcher.Main类错误,花了我大半天时间才解决,原来是jer不兼容引起的,之前用的是dk7,后来改成jdk6就没报错了。估计是因为刚开始在开发时用的jdk6,然后中途改用了jdk7,所以引起不兼容性问题。

同一个世界,同一片天。 4902

OSGi——运行工具箱的配置(org.eclipse.equinox.http org.eclipse.equinox.servlet.api)问题

前一段时间跟着老师在做有关OSGi的项目。刚从老师口中听到这个技术就两眼冒金星,感觉这就是一个高大上的技术,拿以前自己做的项目和这个一比真的是小巫见大巫。刚开始的时候信心满满,觉得一个月的时间学习加做东西足够了,可真做的时候就发现老师说的是对的,这门技术的学习曲线还是挺陡峭的。 由于刚刚找到工作,老师布置完任务后几天就去公司实习了,想着一边实习一边做OSGi,幸亏进了项目组,整个项目在我来之前已

shancoder的专栏 5040

eclipse启动失败,可能原因

1,删除C:\Windows\System32目录下的Java.exe、javaw.exe、javaws.exe这三个文件。 2,配置eclipse文件夹下的eclipse.ini文件。  添加如下字段:  -vm  D:/jdk1.8.0_40/bin 注意/和\  -vmD:/jdk1.8.0_40/bin -startupplugins/org.eclipse.equ

zjflorio的博客 1484

Eclipse启动优化

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 -product org.eclipse.epp.p

佐手→牵右手 1008

启动 eclipse 命令

<br />java -jar org.eclipse.equinox.launcher_*.jar

博学 536

Eclipse运行速度调优

这两天看了JVM的内存优化,决定尝试一下,对Eclipse进行内存调优。 本次使用的机器为64位Win10系统,虚拟机为Java HotSpot(TM) 64-Bit。硬件是台式联想电脑,Intel Pentium G630,8G物理内存。 下面是初始的Eclipse配置文件eclipse.ini -startup plugins/org.eclipse.equinox.launcher...

Wong'S博客 6094

eclipse 安装maven插件配置

1.下载maven 包解压  放在指定的目录 注意maven需要使用到jdk  (eclipse 4.0以上版本不需要配置) 2.配置jdk   在eclipse 里的eclipse.ini 文件里配置: -startup plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar --launcher.library

JesseCary的博客 688

eclipse无法正常启动:Failed to find a Main Class in "...\\plugins/org.eclipse.equinox.launcher_..."

问题描述 官网下载的eclipse,解压后就是打不开,报下图的错误 对于上面的问题,有说是路径有中文名,有说路径太长,有说需要重装eclipse的,在这提一个我这里可以正常运行的方式吧。 解决方法 首先找到你的jre或jdk安装路径,其次找到jre\bin下的javaw.exe,比如我这里是 C:\jdk1.8.0_212\jre\bin\javaw.exe 打开elipse安装目录下的ecl...

s31329的博客 1万+

eclipse Main方法

eclipse  运行的第一行代码  是在org.eclipse.equinox.launcher 插件中。 package org.eclipse.core.launcher;   public class Main { public static void main(String[] args) { org.eclipse.equinox.launcher.Main.m...

changkejia的博客 525

eclipse打开报错

第一次下载 eclipse-jee-juno-SR2-win32解压开就报这个错误,害我换了几个jdk,真是郁闷。第一反应就是开日志(1),然后把相应的关键字放到google里面去搜索。结果并没有什么有价值的东西。倒是更换关键字以后,改成eclipse打不开,但是给我提供了一些思路。 其中有一个方法是 在"开始"-->"运行"---->打入"cmd"进入命令提示行后,再进入eclipse的安装目

迷宫时代 8552

Eclipse启动报错java.lang.NoClassDefFoundError

启动的时候,报错: !ENTRY org.eclipse.osgi 4 0 2014-02-23 15:11:58.914 !MESSAGE Application error !STACK 1 java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.jface.preference.Preferen

Seven_cm 1万+

JngHightSpeedSecs_SECSGEM_SECS_SECS源代码_SECS,GEM源代码_GEM

SECS/GEM开发的源代码,运行稳定7*24小时,代码风格非常好,简单易懂

上一篇: 如何解决enq: TX- index contention
下一篇: 在云服务器主机环境(不支持组播)基于单播模式的Tomcat Cluster集群配置
weixin_33736649
博客等级 码龄11年 6290粉丝 1374原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值