Eclipse 平臺具有很高的可配置性。配置輸入的形式為命令行自變量和系統屬性設置。很多情況下,命令行自變量?jì)H僅是用來(lái)設置相關(guān)系統屬性的縮寫(xiě)。事實(shí)上,系統屬性設置遠多于命令行自變量。
命令行自變量
下面列示的是由 Eclipse 運行時(shí)的各個(gè)部分處理的命令行自變量。其中很多值也可通過(guò)使用系統屬性在命令行上使用 -D VM 自變量來(lái)指定或者通過(guò)在 config.ini 文件中指定這些值來(lái)指定。使用后一技巧,可以根本不使用命令行自變量就定制 Eclipse。
對于列表中的每個(gè)自變量,已經(jīng)給定了其對應系統屬性關(guān)鍵字(在 {} 中)。另外還給定了處理命令行自變量的 Eclipse 運行時(shí)層(在 () 中)。這對于人們替換運行時(shí)部件以適應特殊需要很有用。
- -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] 或在要使用缺省端口(例如,未指定端口時(shí))時(shí)設置為空字符串。
- -consoleLog (Runtime)
- 相當于將 eclispe.consoleLog 設置為 "true"
- -data <location> (OSGi)
- 相當于將 osgi.instance.area 設置為 <location>
- -debug [options file] (OSGi)
- 相當于將 osgi.debug 設置為 [options file] 或設置為空字符串以?xún)H啟用調試(例如,如果未指定選項文件位置)
- -dev [entries] (OSGi)
- 相當于將 osgi.dev 設置為 [entries] 或設置為空字符串以?xún)H啟用 DEV 方式(例如,如果未指定條目)
- -endSplash <command> (Main)
- 指定要用來(lái)關(guān)閉閃屏的命令。通常由 Eclipse 可執行文件提供。
- -feature <feature id> (Runtime)
- 相當于將 eclipse.product 設置為 <feature id>
- -framework <location> (Main) NEW
- 相當于將 osgi.framework 設置為 <location>
- -initialize (Main)
- 初始化要運行的配置。刷新與運行時(shí)相關(guān)的所有數據結構和高速緩存。不清除任何用戶(hù)/插件定義的配置數據。沒(méi)有運行任何應用程序,忽略所有產(chǎn)品規范且不顯示用戶(hù)界面(例如,不會(huì )繪制閃屏)
- -install <location> (Main)
- 相當于將 osgi.install.area 設置為 <location>
- -keyring <location> (Runtime)
- 權限數據庫在磁盤(pán)上的位置。此自變量必須與 -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)
- 指定要用來(lái)顯示閃屏的命令。通常由 Eclipse 可執行文件提供。
- -user <location> (OSGi) NEW
- 相當于將 osgi.user.area 設置為 <location>
- -vm <path to java executable> (Executable, Main) NEW
- 傳遞給 Eclipse 可執行文件后,此選項用來(lái)查找用來(lái)運行 Eclipse 的 Java VM。必須是指向適當的 Java 可執行文件的完整文件系統路徑。如果未指定,Eclipse 可執行文件將使用搜索算法來(lái)查找合適的 VM。不管怎樣,可執行文件會(huì )使用 -vm 自變量將該路徑傳遞至用于 Java Main 的實(shí)際 VM。然后,Java Main 將此值存儲在 eclipse.vm 中。
- -vmargs [vmargs*] (Executable, Main) NEW
- 傳遞給 Eclipse 后,此選項用來(lái)定制運行 Eclipse 的 Java VM 的操作。如果指定了此操作,此選項必須位于命令行的末尾。即使未在可執行命令行上指定,可執行文件也將使用 -vmargs 自變量自動(dòng)將相關(guān)自變量(包括正在啟動(dòng)的類(lèi))添加至傳遞到 Java 的命令行。然后,Java Main 將此值存儲在 eclipse.vmargs 中。
- -ws <window system> (OSGi)
- 相當于將 osgi.ws 設置為 <window system>
廢棄的命令行自變量
下列命令行自變量不再相關(guān)或已被取代,并由運行時(shí)占用而不傳遞至為保留向后兼容性而運行的應用程序。
- -boot
- 請參閱 -configuration
- -classLoaderProperties
- 不再相關(guān)
- -firstUse
- 不再相關(guān)
- -newUpdates
- 不再相關(guān)
- -noPackagePrefixes
- 不再相關(guān)
- -noUpdate
- 不再相關(guān)
- -plugins
- 不再相關(guān)
- -update
- 不再相關(guān)
其它
下列命令行自變量是由各個(gè) Eclipse 插件定義的,且僅當安裝、解析并激活定義插件后才受支持。
- -noVersionCheck (workbench)
- <description>
- -perspective (workbench)
- <description>
- -refresh (org.eclipse.core.resources)
- <description>
- -showLocation (org.eclipse.ui.ide.workbench)
- <description>
- -allowDeadlock
- <description>
系統屬性
Eclipse 運行時(shí)使用下列系統屬性。注意,以“osgi”開(kāi)頭的屬性是特定于 OSGi 框架實(shí)現的,而以“eclipse”開(kāi)頭的屬性則特定于位于 OSGi 框架之上的 Eclipse 運行時(shí)。
其中許多屬性具有命令行等效項(請參閱命令行自變量一節以及花括號 {} 中的值)。用戶(hù)可任意選用命令行或屬性設置來(lái)指定值??梢韵铝蟹绞皆O置屬性:
- 使用 -DpropName=propValue 作為 Java VM 的 VM 自變量
- 在 config.ini 文件中的適當配置區域設置想要的屬性
- eclipse.application {-application}
- 要運行的應用程序的標識。此處給定的值覆蓋由要運行的產(chǎn)品(請參閱 eclipse.product)定義的任何應用程序。
- eclipse.commands
- sdf
- eclipse.consoleLog
- 如果為“true”,還將任何日志輸出發(fā)送至 Java 的 System.out(通常會(huì )返回至命令 shell)。與 -debug 組合時(shí)很方便。
- eclipse.debug.startupTime
- 啟動(dòng)用于此會(huì )話(huà)的 Java VM 的時(shí)間(以毫秒計)
- eclipse.exitcode
- <description>
- eclipse.exitdata
- <description>
- eclipse.manifestConverter
- 將舊的 plugin.xml 文件轉換為 manifest.mf 文件時(shí)使用的清單轉換器類(lèi)的類(lèi)名
- eclipse.noExtensionMunging
- 如果為“true”,舊注冊表擴展將保持原樣。缺省情況下,將更新這些擴展以使用 Eclipse 3.0 中的新擴展點(diǎn)標識。
- eclipse.noLazyRegistryCacheLoading {-noLazyRegistryCacheLoading}
- 如果為“true”,將釋放平臺的插件注冊表高速緩存裝入優(yōu)化。缺省情況下,僅在需要時(shí)才從注冊表高速緩存(如果有)裝入配置元素,從而減少內存占用量。此選項在啟動(dòng)時(shí)強制完全裝入注冊表高速緩存。
- eclipse.noRegistryCache {-noRegistryCache}
- 如果為“true”,則不會(huì )讀寫(xiě)內部擴展注冊表高速緩存
- eclipse.pluginCustomization {-pluginCustomization}
- 包含插件首選項的缺省設置的屬性文件的文件系統位置。這些缺省設置覆蓋在主要功能部件中指定的缺省設置。相對路徑是相對于 Eclipse 本身的當前工作目錄解釋的。
- eclipse.product {-product}
- 要運行的產(chǎn)品的標識。它控制各種品牌信息以及使用的應用程序。
- eclipse.vm {-vm}
- 指向用來(lái)運行 Eclipse 的 Java 可執行文件的路徑。此信息用來(lái)構造重新啟動(dòng)命令行。
- eclipse.vmargs {-vmargs}
- 列示用來(lái)運行 Eclipse 的 VM 自變量。此信息用來(lái)構造重新啟動(dòng)命令行。
- osgi.adaptor
- 要使用的 OSGi 框架適配器的類(lèi)名。
- osgi.arch {-arch}
- 請參閱 -arch
- osgi.baseConfiguration.area
- asf
- osgi.bundles
- 用逗號分隔的 bundle 列表,它們是自動(dòng)安裝的,在系統啟動(dòng)并運行后可選擇啟動(dòng)它們。每個(gè)條目的格式是:
<URL | simple bundle location>[@ [<start-level>] [":start"]]
如果省略啟動(dòng)級別(大于零的整數),則框架將對 bundle 使用缺省啟動(dòng)級別。如果添加了“start”標記,則在安裝后,會(huì )將 bundle 標記為已啟動(dòng)。簡(jiǎn)單 bundle 位置是相對于框架的父目錄解釋的。啟動(dòng)級別指示 bundle 應該運行于的 OSGi 啟動(dòng)級別。如果未設置此值,系統將計算適當的缺省值。 - osgi.clean
- 如果設置為 "true",則 OSGi 框架和 eclipse 運行時(shí)所用的任何高速緩存的數據將被全部擦去。這將清理用來(lái)存儲 bundle 從屬項資源和 eclipse 擴展注冊數據的高速緩存。使用此選項將強制 eclipse 重新初始化這些高速緩存。
- osgi.configuration.cascaded
- 如果設置為“true”,將把此配置層疊至父代配置。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.configuration.area {-configuration}
- 此次平臺運行的配置位置。配置決定哪些插件將運行以及其它各項系統設置。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.configuration.area.default
- 此次平臺運行的缺省配置位置。配置決定哪些插件將運行以及其它各項系統設置。僅當未對 osgi.configuration.area 設置任何值時(shí)才使用此值(即,缺省設置)。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.console {-console}
- 如果設置為非空值,則將啟用 OSGi 控制臺(如果安裝了)。如果該值是合適的整數,將把它解釋為端口,控制臺在該端口上偵聽(tīng)其輸出并引導至給定端口。便于調查系統的狀態(tài)。
- osgi.console.class
- 要運行的控制臺的類(lèi)名(如果已請求)
- osgi.debug {-debug}
- 如果設置為非空值,平臺將置于調試方式。如果此值是字符串,則將它解釋為 .options 文件的位置。此文件指示哪些調試點(diǎn)可供插件使用以及是否啟用了它們。如果未指定位置,平臺將在安裝目錄下搜索 .options 文件。
- osgi.dev {-dev}
- 如果設置為空字符串,就會(huì )打開(kāi) DEV 方式。還可將此屬性設置為用逗號分隔的將添加至每個(gè)插件的類(lèi)路徑的類(lèi)路徑條目或設置為指向包含一組插件的定制類(lèi)路徑添加項的 Java 屬性文件的 URL。對于要求定制的 DEV 時(shí)間類(lèi)路徑的每個(gè)插件,該文件都將包含以下格式的條目:
<插件標識>=<用逗號分隔的要添加的類(lèi)路徑條目的列表>
其中插件標識“*”與另行聲明的所有插件匹配。 - osgi.framework
- OSGi 框架的 URL 位置。當 Eclipse 安裝中斷時(shí)很有用。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.frameworkClassPath
- 用逗號分隔的用于 OSGi 框架實(shí)現的類(lèi)路徑條目的列表。相對位置是相對于框架位置解釋的(請參閱 osgi.framework)
- osgi.install.area {-install}
- 平臺的安裝位置。此設置指示基本 Eclipse 插件的位置,在 Eclipse 安裝中斷時(shí)很有用。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.instance.area {-data}
- 此會(huì )話(huà)的實(shí)例數據位置。插件使用此位置來(lái)存儲它們的數據。例如,資源插件使用這個(gè)作為項目的缺省位置(aka 工作空間)。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.instance.area.default
- 此會(huì )話(huà)的缺省實(shí)例數據位置。插件使用此位置來(lái)存儲它們的數據。例如,資源插件使用這個(gè)作為項目的缺省位置(aka 工作空間)。僅當未對 osgi.instance.area 設置任何值時(shí)才使用此值(即,缺省設置)。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.manifest.cache
- 發(fā)現和生成的清單的位置。缺省位置在配置區域中,但清單高速緩存可以單獨存儲。
- osgi.nl {-nl}
- Eclipse 平臺將在其上運行的語(yǔ)言環(huán)境的名稱(chēng)。NL 值應遵循標準 Java 語(yǔ)言環(huán)境命名約定。
- osgi.os {-os}
- 操作系統值。該值應為 Eclipse 已知的 Eclipse 處理器體系結構名稱(chēng)之一(例如,x86 和 sparc 等等)。
- osgi.splashLocation
- 啟動(dòng) Eclipse 時(shí)要顯示的閃屏(.bmp 文件)的絕對 URL 位置。此屬性覆蓋 osgi.splashPath 中設置的任何值。
- osgi.splashPath
- 用逗號分隔的用來(lái)搜索名為 splash.bmp 的文件的 URL 的列表。此屬性被在 osgi.splashLocation 中設置的任何值覆蓋。
- osgi.user.area {-user}
- 用戶(hù)區域的位置。用戶(hù)區域包含特定于操作系統用戶(hù)而且獨立于任何 Eclipse 安裝、配置或實(shí)例的數據(例如,首選項)。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.user.area.default
- 用戶(hù)區域的缺省位置。用戶(hù)區域包含特定于操作系統用戶(hù)而且獨立于任何 Eclipse 安裝、配置或實(shí)例的數據(例如,首選項)。僅當未對 osgi.user.area 設置任何值時(shí)才使用此值(即,缺省設置)。有關(guān)詳細信息,請參閱有關(guān)位置的一節。
- osgi.ws {-ws}
- 窗口系統值。該值應為 Eclipse 已知的 Eclipse 窗口系統名稱(chēng)之一(例如,win32 和 motif 等等)。
- osgi.syspath
- <仍在使用 xxx?修正名稱(chēng)>
位置
Eclipse 運行時(shí)定義一些位置,給插件開(kāi)發(fā)者提供讀?。鎯祿纳舷挛牟⑹?Eclipse 用戶(hù)能控制數據共享作用域和可視性。Eclipse 定義下列位置概念:
- User (-user) {osgi.user.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
- 顧名思義,用戶(hù)位置是特定于用戶(hù)的。通常,用戶(hù)位置是基于 Java
user.home 系統屬性的值,但是,可覆蓋此值。在用戶(hù)位置中可找到諸如用戶(hù)范圍的首選項和登錄信息之類(lèi)的信息。 - Install (-install) {osgi.install.area} [@user.home, @user.dir, filepath, url]
- 安裝位置是安裝 Eclipse 本身的地方。實(shí)際上此位置是要運行 startup.jar 或 eclipse.exe 的父代的目錄(通常為“eclipse”)。對于普通用戶(hù),應將此位置視為只讀,因為安裝可由許多用戶(hù)共享??稍O置安裝位置并從 Eclipse 的其余部分對 startup.jar 去耦。
- Configuration (-configuration) {osgi.configuration.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
- 配置位置包含標識和管理要運行的安裝的(子)集的文件。這樣,每個(gè)安裝可能會(huì )有許多配置。安裝可能附帶缺省配置區域,但通常的啟動(dòng)方案涉及查找可寫(xiě)度更高的配置位置的運行時(shí)嘗試。
- Instance (-data) {osgi.instance.area} [@none, @noDefault, @user.home, @user.dir, filepath, url]
- 包含用戶(hù)定義的數據構件的實(shí)例位置。例如,資源插件使用實(shí)例區域作為工作空間位置,因此它是項目的缺省主目錄。其它插件可在此位置中隨意寫(xiě)下任何文件。
雖然用戶(hù)可以設置這些位置當中的任何一個(gè),但是如果沒(méi)有給定值,Eclipse 將計算出合理的缺省值。設置位置最常見(jiàn)的用例就是實(shí)例區域或工作空間(在 IDE 環(huán)境中)。要對特定數據集運行缺省 Eclipse 配置,可指定:
eclipse -data c:\mydata