Eclipse 运行时选项
最后修改时间为 2004 年 8 月 4 日 14 点 45 分,星期三
Eclipse 平台具有很高的可配置性。配置输入的形式为命令行自变量和系统属性设置。很多情况下,命令行自变量仅仅是用来设置相关系统属性的缩写。事实上,系统属性设置远多于命令行自变量。
命令行自变量
下面列示的是由 Eclipse 运行时的各个部分处理的命令行自变量。其中很多值也可通过使用系统属性在命令行上使用 -D VM 自变量来指定或者通过在 config.ini 文件中指定这些值来指定。使用后一技巧,可以根本不使用命令行自变量就定制 Eclipse。
对于列表中的每个自变量,已经给定了其对应系统属性关键字(在 {} 中)。另外还给定了处理命令行自变量的 Eclipse 运行时层(在 () 中)。这对于人们替换运行时部件以适应特殊需要很有用。
- -application <id> (Runtime)
- 相当于将 eclipse.application 设置为 <id>
- -arch <architecture> (OSGi)
- 相当于将 osgi.arch 设置为 <architecture>
- -clean (OSGi) NEW
- 相当于将 osgi.clean 设置为 "true"
- -configuration <location> (Main)
- 相当于将 osgi.configuration.area 设置为 <location>
- -console [port] (OSGi) NEW
- 相当于将 osgi.console 设置为 [port] 或在要使用缺省端口(例如,未指定端口时)时设置为空字符串。
- -consoleLog (Runtime)
- 相当于将 eclispe.consoleLog 设置为 "true"
- -data <location> (OSGi)
- 相当于将 osgi.instance.area 设置为 <location>
- -debug [options file] (OSGi)
- 相当于将 osgi.debug 设置为 [options file] 或设置为空字符串以仅启用调试(例如,如果未指定选项文件位置)
- -dev [entries] (OSGi)
- 相当于将 osgi.dev 设置为 [entries] 或设置为空字符串以仅启用 DEV 方式(例如,如果未指定条目)
-
-
- -endSplash <command> (Main)
- 指定要用来关闭闪屏的命令。通常由 Eclipse 可执行文件提供。
- -feature <feature id> (Runtime)
- 相当于将 eclipse.product 设置为 <feature id>
- -framework <location> (Main) NEW
- 相当于将 osgi.framework 设置为 <location>
- -initialize (Main)
- 初始化要运行的配置。刷新与运行时相关的所有数据结构和高速缓存。不清除任何用户/插件定义的配置数据。没有运行任何应用程序,忽略所有产品规范且不显示用户界面(例如,不会绘制闪屏)
- -install <location> (Main)
- 相当于将 osgi.install.area 设置为 <location>
- -keyring <location> (Runtime)
- 权限数据库在磁盘上的位置。此自变量必须与 -password 自变量一起使用。
-
- -nl <locale> (OSGi)
- 相当于将 osgi.nl 设置为 <locale>
-
-
- -noLazyRegistryCacheLoading (Runtime)
- 相当于将 eclipse.noLazyRegistryCacheLoading 设置为 "true"
- -noRegistryCache (Runtime)
- 相当于将 eclipse.noRegistryCache 设置为 "true"
-
-
- -noSplash (Executable, Main)
- 控制是否显示闪屏
- -os <operating system>(OSGi)
- 相当于将 osgi.os 设置为 <operating system>
-
- -password <password> (Runtime)
- 权限数据库的密码
-
-
- -pluginCustomization <location> (Runtime)
- 相当于将 eclipse.pluginCustomization 设置为 <location>
- -product <id> (OSGi) NEW
- 相当于将 eclipse.product 设置为 <id>
- -showSplash <command> (Main)
- 指定要用来显示闪屏的命令。通常由 Eclipse 可执行文件提供。
-
- -user <location> (OSGi) NEW
- 相当于将 osgi.user.area 设置为 <location>
- -vm <path to java executable> (Executable, Main) NEW
- 传递给 Eclipse 可执行文件后,此选项用来查找用来运行 Eclipse 的 Java VM。必须是指向适当的 Java 可执行文件的完整文件系统路径。如果未指定,Eclipse 可执行文件将使用搜索算法来查找合适的 VM。不管怎样,可执行文件会使用 -vm 自变量将该路径传递至用于 Java Main 的实际 VM。然后,Java Main 将此值存储在 eclipse.vm 中。
- -vmargs [vmargs*] (Executable, Main) NEW
- 传递给 Eclipse 后,此选项用来定制运行 Eclipse 的 Java VM 的操作。如果指定了此操作,此选项必须位于命令行的末尾。即使未在可执行命令行上指定,可执行文件也将使用 -vmargs 自变量自动将相关自变量(包括正在启动的类)添加至传递到 Java 的命令行。然后,Java Main 将此值存储在 eclipse.vmargs 中。
- -ws <window system> (OSGi)
- 相当于将 osgi.ws 设置为 <window system>
废弃的命令行自变量
下列命令行自变量不再相关或已被取代,并由运行时占用而不传递至为保留向后兼容性而运行的应用程序。
- -boot
- 请参阅 -configuration
- -classLoaderProperties
- 不再相关
-
- -firstUse
- 不再相关
-
- -newUpdates
- 不再相关
-
- -noPackagePrefixes
- 不再相关
-
-
- -noUpdate
- 不再相关
-
- -plugins
- 不再相关
- -update
- 不再相关
其它
下列命令行自变量是由各个 Eclipse 插件定义的,且仅当安装、解析并激活定义插件后才受支持。
- -noVersionCheck (workbench)
- <description>
- -perspective (workbench)
- <description>
- -refresh (org.eclipse.core.resources)
- <description>
- -showLocation (org.eclipse.ui.ide.workbench)
- <description>
- -allowDeadlock
- <description>
系统属性
Eclipse 运行时使用下列系统属性。注意,以“osgi”开头的属性是特定于 OSGi 框架实现的,而以“eclipse”开头的属性则特定于位于 OSGi 框架之上的 Eclipse 运行时。
其中许多属性具有命令行等效项(请参阅命令行自变量一节以及花括号 {} 中的值)。用户可任意选用命令行或属性设置来指定值。可以下列方式设置属性:
- 使用 -DpropName=propValue 作为 Java VM 的 VM 自变量
- 在 config.ini 文件中的适当配置区域设置想要的属性
- eclipse.application {-application}
- 要运行的应用程序的标识。此处给定的值覆盖由要运行的产品(请参阅 eclipse.product)定义的任何应用程序。
- eclipse.commands
- sdf
- eclipse.consoleLog
- 如果为“true”,还将任何日志输出发送至 Java 的 System.out(通常会返回至命令 shell)。与 -debug 组合时很方便。
- eclipse.debug.startupTime
- 启动用于此会话的 Java VM 的时间(以毫秒计)
- eclipse.exitcode
- <description>
-
- eclipse.exitdata
- <description>
-
- eclipse.manifestConverter
- 将旧的 plugin.xml 文件转换为 manifest.mf 文件时使用的清单转换器类的类名
- eclipse.noExtensionMunging
- 如果为“true”,旧注册表扩展将保持原样。缺省情况下,将更新这些扩展以使用 Eclipse 3.0 中的新扩展点标识。
- eclipse.noLazyRegistryCacheLoading {-noLazyRegistryCacheLoading}
- 如果为“true”,将释放平台的插件注册表高速缓存装入优化。缺省情况下,仅在需要时才从注册表高速缓存(如果有)装入配置元素,从而减少内存占用量。此选项在启动时强制完全装入注册表高速缓存。
- eclipse.noRegistryCache {-noRegistryCache}
- 如果为“true”,则不会读写内部扩展注册表高速缓存
- eclipse.pluginCustomization {-pluginCustomization}
- 包含插件首选项的缺省设置的属性文件的文件系统位置。这些缺省设置覆盖在主要功能部件中指定的缺省设置。相对路径是相对于 Eclipse 本身的当前工作目录解释的。
- eclipse.product {-product}
- 要运行的产品的标识。它控制各种品牌信息以及使用的应用程序。
- eclipse.vm {-vm}
- 指向用来运行 Eclipse 的 Java 可执行文件的路径。此信息用来构造重新启动命令行。
- eclipse.vmargs {-vmargs}
- 列示用来运行 Eclipse 的 VM 自变量。此信息用来构造重新启动命令行。
- osgi.adaptor
- 要使用的 OSGi 框架适配器的类名。
- osgi.arch {-arch}
- 请参阅 -arch
- osgi.baseConfiguration.area
- asf
- osgi.bundles
- 用逗号分隔的 bundle 列表,它们是自动安装的,在系统启动并运行后可选择启动它们。每个条目的格式是:
<URL | simple bundle location>[@ [<start-level>] [":start"]]
如果省略启动级别(大于零的整数),则框架将对 bundle 使用缺省启动级别。如果添加了“start”标记,则在安装后,会将 bundle 标记为已启动。简单 bundle 位置是相对于框架的父目录解释的。启动级别指示 bundle 应该运行于的 OSGi 启动级别。如果未设置此值,系统将计算适当的缺省值。
- osgi.clean
- 如果设置为 "true",则 OSGi 框架和 eclipse 运行时所用的任何高速缓存的数据将被全部擦去。这将清理用来存储 bundle 从属项资源和 eclipse 扩展注册数据的高速缓存。使用此选项将强制 eclipse 重新初始化这些高速缓存。
- osgi.configuration.cascaded
- 如果设置为“true”,将把此配置层叠至父代配置。有关详细信息,请参阅有关位置的一节。
- osgi.configuration.area {-configuration}
- 此次平台运行的配置位置。配置决定哪些插件将运行以及其它各项系统设置。有关详细信息,请参阅有关位置的一节。
-
- osgi.configuration.area.default
- 此次平台运行的缺省配置位置。配置决定哪些插件将运行以及其它各项系统设置。仅当未对 osgi.configuration.area 设置任何值时才使用此值(即,缺省设置)。有关详细信息,请参阅有关位置的一节。
-
- osgi.console {-console}
- 如果设置为非空值,则将启用 OSGi 控制台(如果安装了)。如果该值是合适的整数,将把它解释为端口,控制台在该端口上侦听其输出并引导至给定端口。便于调查系统的状态。
-
- osgi.console.class
- 要运行的控制台的类名(如果已请求)
- osgi.debug {-debug}
- 如果设置为非空值,平台将置于调试方式。如果此值是字符串,则将它解释为 .options 文件的位置。此文件指示哪些调试点可供插件使用以及是否启用了它们。如果未指定位置,平台将在安装目录下搜索 .options 文件。
- osgi.dev {-dev}
- 如果设置为空字符串,就会打开 DEV 方式。还可将此属性设置为用逗号分隔的将添加至每个插件的类路径的类路径条目或设置为指向包含一组插件的定制类路径添加项的 Java 属性文件的 URL。对于要求定制的 DEV 时间类路径的每个插件,该文件都将包含以下格式的条目:
<插件标识>=<用逗号分隔的要添加的类路径条目的列表>
其中插件标识“*”与另行声明的所有插件匹配。
- osgi.framework
- OSGi 框架的 URL 位置。当 Eclipse 安装中断时很有用。有关详细信息,请参阅有关位置的一节。
- osgi.frameworkClassPath
- 用逗号分隔的用于 OSGi 框架实现的类路径条目的列表。相对位置是相对于框架位置解释的(请参阅 osgi.framework)
- osgi.install.area {-install}
- 平台的安装位置。此设置指示基本 Eclipse 插件的位置,在 Eclipse 安装中断时很有用。有关详细信息,请参阅有关位置的一节。
- osgi.instance.area {-data}
- 此会话的实例数据位置。插件使用此位置来存储它们的数据。例如,资源插件使用这个作为项目的缺省位置(aka 工作空间)。有关详细信息,请参阅有关位置的一节。
-
- osgi.instance.area.default
- 此会话的缺省实例数据位置。插件使用此位置来存储它们的数据。例如,资源插件使用这个作为项目的缺省位置(aka 工作空间)。仅当未对 osgi.instance.area 设置任何值时才使用此值(即,缺省设置)。有关详细信息,请参阅有关位置的一节。
-
- osgi.manifest.cache
- 发现和生成的清单的位置。缺省位置在配置区域中,但清单高速缓存可以单独存储。
- osgi.nl {-nl}
- Eclipse 平台将在其上运行的语言环境的名称。NL 值应遵循标准 Java 语言环境命名约定。
- osgi.os {-os}
- 操作系统值。该值应为 Eclipse 已知的 Eclipse 处理器体系结构名称之一(例如,x86 和 sparc 等等)。
- osgi.splashLocation
- 启动 Eclipse 时要显示的闪屏(.bmp 文件)的绝对 URL 位置。此属性覆盖 osgi.splashPath 中设置的任何值。
- osgi.splashPath
- 用逗号分隔的用来搜索名为 splash.bmp 的文件的 URL 的列表。此属性被在 osgi.splashLocation 中设置的任何值覆盖。
- osgi.user.area {-user}
- 用户区域的位置。用户区域包含特定于操作系统用户而且独立于任何 Eclipse 安装、配置或实例的数据(例如,首选项)。有关详细信息,请参阅有关位置的一节。
- osgi.user.area.default
- 用户区域的缺省位置。用户区域包含特定于操作系统用户而且独立于任何 Eclipse 安装、配置或实例的数据(例如,首选项)。仅当未对 osgi.user.area 设置任何值时才使用此值(即,缺省设置)。有关详细信息,请参阅有关位置的一节。
- osgi.ws {-ws}
- 窗口系统值。该值应为 Eclipse 已知的 Eclipse 窗口系统名称之一(例如,win32 和 motif 等等)。
- osgi.syspath
- <仍在使用 xxx?修正名称>
位置
Eclipse 运行时定义一些位置,给插件开发者提供读取/存储数据的上下文并使 Eclipse 用户能控制数据共享作用域和可视性。Eclipse 定义下列位置概念:
- User (-user) {osgi.user.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
- 顾名思义,用户位置是特定于用户的。通常,用户位置是基于 Java
user.home
系统属性的值,但是,可覆盖此值。在用户位置中可找到诸如用户范围的首选项和登录信息之类的信息。
- Install (-install) {osgi.install.area} [@user.home, @user.dir, filepath, url]
- 安装位置是安装 Eclipse 本身的地方。实际上此位置是要运行 startup.jar 或 eclipse.exe 的父代的目录(通常为“eclipse”)。对于普通用户,应将此位置视为只读,因为安装可由许多用户共享。可设置安装位置并从 Eclipse 的其余部分对 startup.jar 去耦。
- Configuration (-configuration) {osgi.configuration.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
- 配置位置包含标识和管理要运行的安装的(子)集的文件。这样,每个安装可能会有许多配置。安装可能附带缺省配置区域,但通常的启动方案涉及查找可写度更高的配置位置的运行时尝试。
- Instance (-data) {osgi.instance.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
- 包含用户定义的数据构件的实例位置。例如,资源插件使用实例区域作为工作空间位置,因此它是项目的缺省主目录。其它插件可在此位置中随意写下任何文件。
虽然用户可以设置这些位置当中的任何一个,但是如果没有给定值,Eclipse 将计算出合理的缺省值。设置位置最常见的用例就是实例区域或工作空间(在 IDE 环境中)。要对特定数据集运行缺省 Eclipse 配置,可指定:
eclipse -data c:\mydata
更多详细信息
位置是一些 URL。为简单起见,也接受文件路径并且它们将自动转换为 file: URL。为更好地控制以及更方便起见,还有一些可以使用的预定义符号位置。注意,并非位置类型和符号值的所有组合都有效。下表详细说明了哪些组合是可能的。由于缺省用例用于要设置的所有位置,而且它是有效且可写的,因此有些插件在其它设置中可能会失效,即使它们被列示为可行也是如此。例如,如果未定义实例区域,期望重点放在用户数据上的插件(例如,Eclipse 资源插件)来完成许多任务是不合理的。将由插件开发者来选择他们支持的设置并相应地设计它们的功能。
- @none
- 指示不应显式设置相应位置或设置为其缺省值。例如,没有用户数据的 RCP 样式应用程序可以使用 osgi.instance.area=@none 来防止将外来文件写入磁盘。@none 后面不能跟任何其它路径段。
- @noDefault
- 强制取消位置的定义或显式定义位置(即,Eclipse 不会自动计算缺省值)。这在您想在相应的位置允许数据但 Eclipse 缺省值不合适的时候很有用。@noDefault 后面不能跟任何其它路径段。
- @user.home
- 引导 Eclipse 计算相对于用户的主目录的位置值。@user.home 后面可跟其它路径段。在所有情况下,字符串“@user.home”仅被替换为 Java“user.home”系统属性的值。例如,设置
osgi.instance.area=@user.home/myWorkspace
将导致值
file:/users/bob/myWorkspace
- @user.dir
- 引导 Eclipse 计算相对于当前工作目录的位置值。@user.dir 后面可跟其它路径段。在所有情况下,字符串“@user.dir”仅被替换为 Java“user.dir”系统属性的值。例如,设置
osgi.instance.area=@user.dir/myWorkspace
将导致值
file:/usr/share/eclipse/myWorkspace
位置/值 |
支持缺省值 |
文件/URL |
@none |
@noDefault |
@user.home |
@user.dir |
实例 |
是 |
是 |
是 |
是 |
是 |
是(缺省值) |
配置 |
是 |
是 |
是* |
是* |
是 |
是 |
安装 |
否 |
是 |
否 |
否 |
是 |
是 |
用户 |
是 |
是 |
是 |
是 |
是 |
是 |
* 指示此设置是在技术上可行但实际操作时很难管理。特别是在没有配置位置的情况下,Eclipse 运行时可能只能启动 OSGi 框架而已。