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)在命令提示符下执行以下命令:
几秒钟,osgi>提示符显示出来。
b)在osgi>提示符下执行 ss :
显示:
osgi>ss
Frameworkislaunched.
idStateBundle
0 ACTIVEorg.eclipse.osgi_3 .3.1 .R33x_v20070828
osgi>
c)在当前目录下,创建一个文件,文件名为 .options
将上面的.options内容复制到文件中,修改这一句:
或者
在.options文件中只保留一句
d)再运行
会看到启动过程中bundle进入和退出的情况,当然这里只有一个,如果很多bundle输出会很壮观的 :)
2601

被折叠的 条评论
为什么被折叠?



