读源码学习equinox启动参数二

equinox启动第二阶段的参数有三个:

1、PROFILE 默认的是true,这个参数值是固定的,没有提供更改的方法和途径。

2、STARTUP默认的是false,这个参数对应的是 启动选项osgi.debug 。
如果设置了启动选项 osgi.debug ,equinox启动时会在user.dir 也就是eclipse安装路径下装载 .options文件。

可以在.options文件中修改一些参数的默认值,如果设置 org.eclipse.osgi/profile/startup = true
会在控制台显示所有启动插件时的信息。关于.options文件请见下面的详细说明。


3、eclipse.ignoreApp
默认的值是false.
如果在启动参数中 "没有" 设置 eclipse.ignoreApp = true ,那么会运行EclipseAppLauncher.java。
关于EclipseAppLauncher 后面的文章会提到。


4、关于.options文件

eclipse带了一个.options文件,可以在eclipse的plugins目录下的 org.eclipse.osgi_$version.jar 中找到。

一个.options文件内容如下:



####Debuggingoptionsfororg.eclipse.osgi

#Turnongeneraldebuggingfororg.eclipse.osgi
org.eclipse.osgi/debug
= false
#Printsoutclassloadingdebuginformation
org.eclipse.osgi/debug/loader
= false
#Printsoutevent(FrameworkEvent/BundleEvent/ServiceEvent)andlistenerdebuginformation
org.eclipse.osgi/debug/events
= false
#PrintsoutOSGiservicedebuginformation(registration/getting/ungettingetc.)
org.eclipse.osgi/debug/services
= false
#Printsoutbundlemanifestparsingdebuginformation
org.eclipse.osgi/debug/manifest
= false
#PrintsoutLDAPfilterdebuginformation
org.eclipse.osgi/debug/filter
= false
#Printsoutsecurity(PermissionAdminservice)debuginformation
org.eclipse.osgi/debug/security
= false
#Printsoutstartlevelservicedebuginformation
org.eclipse.osgi/debug/startlevel
= false
#Printsoutpackageadminservicedebuginformation
org.eclipse.osgi/debug/packageadmin
= false
#Printsouttiminginformationforbundleactivation
org.eclipse.osgi/debug/bundleTime
= false
#Debugtheloadingofmessagebundles
org.eclipse.osgi/debug/messageBundles
= false

#Eclipseadaptoroptions
org.eclipse.osgi/eclipseadaptor/debug
= false
org.eclipse.osgi/eclipseadaptor/debug/location
= false
org.eclipse.osgi/eclipseadaptor/debug/platformadmin
= false
org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver
= false
org.eclipse.osgi/eclipseadaptor/converter/debug
= false

###OSGiresolveroptions
#Turnsondebuggingfortheresolver
org.eclipse.osgi/resolver/debug
= false
#Printsoutwiringinformationaftertheresolverhascompletedtheresolveprocess
org.eclipse.osgi/resolver/wiring
= false
#PrintsoutImport-Packageinformation
org.eclipse.osgi/resolver/imports
= false
#PrintsoutRequire-Bundleinformation
org.eclipse.osgi/resolver/requires
= false
#Printsoutpackagegroupinginformationformthe
" uses " clause
org.eclipse.osgi/resolver/grouping
= false
#Printsoutcycleinformation
org.eclipse.osgi/resolver/cycles
= false
#PrintsoutEclipse-GenericRequireinformation
org.eclipse.osgi/resolver/generics
= false

####Profilesettings
org.eclipse.osgi/profile/startup
= false
org.eclipse.osgi/profile/benchmark
= false
org.eclipse.osgi/profile/debug
= false

#Overridethedefaultimplemenation
org.eclipse.osgi/profile/impl
= org.eclipse.osgi.internal.profile.DefaultProfileLogger

#Appendallprofilemessagestothefilenamespecified
org.eclipse.osgi/defaultprofile/logfilename
=

#Outputallprofilelogmessagessynchronouslytothejvmconsole.
#Bydefault
, alllogmessagesarecacheduntilthelogbufferis
#requested.
org.eclipse.osgi/defaultprofile/logsynchronously
= false

#Specifythesizeofthedefaultprofileimplementationlogbuffer.
org.eclipse.osgi/defaultprofile/buffersize
= 256

####Monitoringsettings
#monitorclassloading
org.eclipse.osgi/monitor/classes
= false

#monitorbundleactivation
org.eclipse.osgi/monitor/activation
= false

#monitorresourcebundle(*.properties)loading
org.eclipse.osgi/monitor/resources
= false


####Tracesettings
#traceclassloading-snapshottheexecutionstackwhenaclassisloaded
org.eclipse.osgi/trace/classLoading
= false

#tracelocation-fileinwhichexecutiontracesarewritten
org.eclipse.osgi/trace/filename
= runtime.traces

#tracefilters-Javapropertiesfiledefiningwhichclassesshould
#betraced(iftrace/classLoadingistrue)
#Fileformat:
#plugins
= <commaseparatedlistofpluginswhoseclassestotrace>
#packages
= <commaseparatedlistofpackageprefixesofclassestotrace>
#Notethattheremaybemany'plugins'and'packages'linesinonefile.
org.eclipse.osgi/trace/filters
= trace.properties

#tracebundleactivation-snapshottheexecutionstackwhenabundleisactivated
org.eclipse.osgi/trace/activation
= false


5、下面作一个小实验

A.环境准备

a)默认已经安装了Java 1.5以上的开发环境。

b)下载eclipse-equinox-3.3.1.1 http://download.eclipse.org/eclipse/equinox/drops/R-3.3.1.1-200710231652/download.php?dropFile=eclipse-equinox-3.3.1.1.zip

c) 在C:/下创建目录 osgi-dev,将 org.eclipse.osgi_3.3.1.R33x_v20070828.jar 复制到 C:/osgi-dev 目录中

B.执行过程

a)在命令提示符下执行以下命令:


>java-console-jarorg.eclipse.osgi_3 .3.1 .R33x_v20070828.jar

几秒钟,osgi>提示符显示出来。

b)在osgi>提示符下执行 ss :


osgi>ss

显示:


C:osgi-dev>java-console-jarorg.eclipse.osgi_3 .3.1 .R33x_v20070828.jar

osgi>ss

Frameworkislaunched.

idStateBundle
0 ACTIVEorg.eclipse.osgi_3 .3.1 .R33x_v20070828

osgi>

c)在当前目录下,创建一个文件,文件名为 .options

将上面的.options内容复制到文件中,修改这一句:

org.eclipse.osgi/profile/startup = true//这里修改false为true

或者

在.options文件中只保留一句

org.eclipse.osgi/profile/startup = true

d)再运行

>java-console-jarorg.eclipse.osgi_3 .3.1 .R33x_v20070828.jar -debug

会看到启动过程中bundle进入和退出的情况,当然这里只有一个,如果很多bundle输出会很壮观的 :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值