eclipse 3.3使用的是遵循 OSGi 标准的 equinox 实现。
equinox在启动的时候,在处理参数的时候分为几个阶段。
这里首先介绍第一个阶段的三个参数:
1、eclipse.startTime
启动时间,默认取系统的时间。
2、osgi.noShutdown
equinox在启动的时候,在处理参数的时候分为几个阶段。
这里首先介绍第一个阶段的三个参数:
1、eclipse.startTime
启动时间,默认取系统的时间。
2、osgi.noShutdown
PROP_NOSHUTDOWN 对应的值就是 osgi.noShutdown
如果值为"true",当eclipse应用程序停止时,Java虚拟机并不退出。这在eclipse应用停止后检查OSGi框架非常有帮助。默认的值为"true"。
3、osgi.compatibility.bootdelegation
如果值为"true",当eclipse应用程序停止时,Java虚拟机并不退出。这在eclipse应用停止后检查OSGi框架非常有帮助。默认的值为"true"。
3、osgi.compatibility.bootdelegation
OSGI_COMPATIBILITY_BOOTDELEGATION 对应的值是 osgi.compatibility.bootdelegation
如果该参数值为"true",当一个类或资源查找不到时,类加载器会启动父类加载器进行最后的查找。(equinox类加载机制在后面会特别的介绍)
默认的值为"false"。
这些参数被保存在FrameworkProperties.java类中,这个类中的方法全都是静态方法,被用来保存全局的属性.
另外,还有一个非常有意思的参数,经常看到但从来没关注过 :)
在查看源代码的时候,有一个标识:$NON-NLS-1$ 作为注释出现在某些语句后面
在网上查了一下,解释如下:
The string $NON-NLS-1$ is a hint for both the compiler and the Externalization wizard that the first character string on this line is a tag or keyword of some sort and should not be localized. 也就是说$NON-NLS-1$表明本行的第一个string型变量是一个标签或者关键字,不需要被本地化。
如果该参数值为"true",当一个类或资源查找不到时,类加载器会启动父类加载器进行最后的查找。(equinox类加载机制在后面会特别的介绍)
默认的值为"false"。
这些参数被保存在FrameworkProperties.java类中,这个类中的方法全都是静态方法,被用来保存全局的属性.
另外,还有一个非常有意思的参数,经常看到但从来没关注过 :)
在查看源代码的时候,有一个标识:$NON-NLS-1$ 作为注释出现在某些语句后面
在网上查了一下,解释如下:
The string $NON-NLS-1$ is a hint for both the compiler and the Externalization wizard that the first character string on this line is a tag or keyword of some sort and should not be localized. 也就是说$NON-NLS-1$表明本行的第一个string型变量是一个标签或者关键字,不需要被本地化。
部分代码如下:
if
(FrameworkProperties.getProperty(
"
eclipse.startTime
"
)
==
null
)
//
$NON-NLS-1$
FrameworkProperties.setProperty( " eclipse.startTime " ,Long.toString(System.currentTimeMillis())); // $NON-NLS-1$
if (FrameworkProperties.getProperty(PROP_NOSHUTDOWN) == null )
FrameworkProperties.setProperty(PROP_NOSHUTDOWN, " true " ); // $NON-NLS-1$
if (FrameworkProperties.getProperty(Constants.OSGI_COMPATIBILITY_BOOTDELEGATION) == null )
FrameworkProperties.setProperty(Constants.OSGI_COMPATIBILITY_BOOTDELEGATION, " false " ); // $NON-NLS-1$
FrameworkProperties.setProperty( " eclipse.startTime " ,Long.toString(System.currentTimeMillis())); // $NON-NLS-1$
if (FrameworkProperties.getProperty(PROP_NOSHUTDOWN) == null )
FrameworkProperties.setProperty(PROP_NOSHUTDOWN, " true " ); // $NON-NLS-1$
if (FrameworkProperties.getProperty(Constants.OSGI_COMPATIBILITY_BOOTDELEGATION) == null )
FrameworkProperties.setProperty(Constants.OSGI_COMPATIBILITY_BOOTDELEGATION, " false " ); // $NON-NLS-1$
全部代码:
Eclipse OSGi 启动参数详解
本文详细介绍了Eclipse 3.3中OSGi框架Equinox启动时的第一阶段参数设置,包括启动时间、禁用关闭行为及类加载委托机制等关键配置项,并解释了这些参数的作用。
3273

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



