Eclipse 執行時期選項
前次修改日期:2004 年 8 月 4 日星期三下午 2:45 分
Eclipse 平台具有高度的可配置性。
配置輸入採取指令行引數和系統內容設定的形式。
在許多情況下,指令行引數都只是設定相關系統內容的捷徑。
事實上,系統內容設定的數目比指令行引數還多。
指令行引數
下面列出 Eclipse 執行時期各個部分所處理的指令行引數。
您可以在指令行中使用 -D VM 引數,或在 config.ini 檔中指定這些值,來利用系統內容指定這些值。
如果使用後一種技術,您完全不需要使用指令行引數,就可以自訂您的 Eclipse。
清單中每個引數都有對應的系統內容鍵(在 {} 中)。
另外還有處理指令行引數的 Eclipse 執行時期層次(在 () 中)。
對於想要取代執行時期的各個部分來配合特殊需求的人而言,這非常有用。
- -application <id> (Runtime)
- 等於是將 eclipse.application 設為 <id>
- -arch <architecture> (OSGi)
- 等於是將 osgi.arch 設為 <architecture>
- -clean (OSGi) NEW
- equivalent to setting osgi.clean to "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] 或空字串,只啟用除錯(也就是在未指定 options file 位置的情況下)
- -dev [entries] (OSGi)
- 等於是將 osgi.dev 設為 [entries] 或空字串,只啟用 dev 模式(也就是在未指定 entries 的情況下)
- -endSplash <command> (Main)
- 指定要用來取得歡迎畫面的指令。
通常由 Eclipse 執行檔來提供。
- -feature <feature id> (Runtime)
- 等於是將 eclipse.product 設為 <feature id>
- -framework <location> (Main) NEW
- 等於是將 osgi.framework 設為 <location>
- -initialize (Main)
- 起始所執行的配置。
所有執行時期相關資料結構和快取記憶體都會重新整理。
不會除去任何使用者/外掛程式定義的配置資料。
不會執行任何應用程式,任何產品規格都會被忽略,不會呈任何 UI(如不會顯示歡迎畫面)
- -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 引數,將所用的實際 VM 的路徑傳給 Java Main。
之後,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}
- 要執行的應用程式 ID。這裡提供的值用來置換執行的產品所定義的任何應用程式(請參閱 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 檔時所用的 Manifest 轉換器類別的類別名稱
- eclipse.noExtensionMunging
- 如果是 "true",舊式登錄延伸規格就會依現狀保留下來。
依預設,會更新這些延伸規格來使用在 Eclipse 3.0 中找到的新延伸點 ID。
- eclipse.noLazyRegistryCacheLoading {-noLazyRegistryCacheLoading}
- 如果是 "true",就會取消啟動平台的外掛程式登錄快取載入最佳化。
依預設,配置元素只有在需要時才會從登錄快取中載入(可以使用時),以減少記憶體覆蓋區。
這個選項可強迫在啟動時完全載入登錄快取。
- eclipse.noRegistryCache {-noRegistryCache}
- 如果是 "true",既不會讀取、也不會寫入內部延伸登錄快取記憶體
- eclipse.pluginCustomization {-pluginCustomization}
- 包含外掛程式喜好設定之預設值的內容檔之檔案系統位置。這些預設值會置換主要特性中指定的預設值。相對路徑被解譯為相對於 Eclipse 本身的現行工作目錄。
- eclipse.product {-product}
- 將要執行的產品 ID。這用來控制各種品牌資訊以及使用哪個應用程式。
- eclipse.vm {-vm}
- 用來執行 Eclipse 的 Java 執行檔的路徑。
這個資訊用來建構重新啟動指令行。
- eclipse.vmargs {-vmargs}
- 列出用來執行 Eclipse 的 VM 引數。
這個資訊用來建構重新啟動指令行。
- osgi.adaptor
- 要用的 OSGi 組織架構配接器的類別名稱。
- osgi.arch {-arch}
- 請參閱 -arch
- osgi.baseConfiguration.area
- asf
- osgi.bundles
- 在系統啟動和執行之後,會自動安裝和選擇性地啟動的逗點分隔的軟體組清單。
各項目的格式如下:
<URL | simple bundle location>[@ [<start-level>] [":start"]]
如果省略啟動層次(>0 整數),組織架構會使用軟體組的預設啟動層次。
如果新增 "start" 標示,就會在安裝之後,將軟體組標示成已啟動。
簡單軟體組位置會解譯成相對於組織架構的母目錄。start-level 指示軟體組應該執行的 OSGi 啟動層次。
如果未設定這個值,系統會計算適當的預設值。
- osgi.clean
- 如果設定為 "true",任何使用 OSGi 架構以及 Eclipse 執行時期所快取的資料將會被清除。 這將會清除使用來儲存
軟體組相依關係與 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 時間類別路徑的外掛程式,這個檔案都會包含一個格式如下的項目:
<plug-in id>=<comma separated list of classpath entries to add>
其中外掛程式 ID "*" 符合任何未在其他情況下提及的外掛程式。
- osgi.framework
- OSGi 組織架構的 URL 位置。如果 Eclipse 安裝是分離的,就非常有用。請參閱位置中的章節,以取得取得詳細資料。
- osgi.frameworkClassPath
- OSGi 組織架構實作的逗點分隔的類別路徑項目清單。
相對位置會相對於組織架構位置(請參閱 osgi.framework)來解譯
- osgi.install.area {-install}
- 平台的安裝位置。這個設定指示基本 Eclipse 外掛程式的位置,如果 Eclipse 安裝是分離的,就非常有用。
請參閱位置中的章節,以取得取得詳細資料。
- osgi.instance.area {-data}
- 這個階段作業的實例資料位置。外掛程式使用這個位置來儲存其資料。
比方說,資源外掛程式會使用這個作為專案的預設位置(如:工作區)。請參閱位置中的章節,以取得取得詳細資料。
- osgi.instance.area.default
- 這個階段作業的預設實例資料位置。外掛程式使用這個位置來儲存其資料。
比方說,資源外掛程式會使用這個作為專案的預設位置(如:工作區)。只有在未設定 osgi.instance.area 的值時,才使用這個值(也就是預設值)。
請參閱位置中的章節,以取得取得詳細資料。
- osgi.manifest.cache
- 探索和產生產生 Manifest 的位置。
預設值是在配置區中,但 Manifest 快取可以個別儲存。
- osgi.nl {-nl}
- Eclipse 平台所執行的語言環境名稱。
NL 值應該遵循標準 Java 語言環境命名慣例。
- osgi.os {-os}
- 作業系統值。這個值應該是 Eclipse(如 x86、sparc...)所認得的 Eclipse 處理器架構名稱之一。
- osgi.splashLocation
- 啟動 Eclipse 時所顯示的歡迎畫面(.bmp 檔)的絕對 URL 位置。
這個內容會置換 osgi.splashPath 中設定的值。
- osgi.splashPath
- 在其中搜尋 splash.bmp 檔的逗點分隔的 URL 清單。
這個內容被 osgi.splashLocation 中設定的值所置換。
- osgi.user.area {-user}
- 使用者區域的位置。使用者區域包含 OS 使用者專用且獨立於 Eclipse 安裝、配置或實例之外的資料(如喜好設定)。
請參閱位置中的章節,以取得取得詳細資料。
- osgi.user.area.default
- 使用者區域的預設位置。使用者區域包含 OS 使用者專用且獨立於 Eclipse 安裝、配置或實例之外的資料(如喜好設定)。
只有在未設定 osgi.user.area 的值時,才使用這個值(也就是預設值)。
請參閱位置中的章節,以取得取得詳細資料。
- osgi.ws {-ws}
- 視窗系統值。這個值應該是 Eclipse(如 win32、motif...)所認得的 Eclipse 視窗系統名稱之一。
- osgi.syspath
- <xxx still used? fix the name>
位置
Eclipse 執行時期定義若干位置,為外掛程式開發人員提供了讀取/儲存資料的環境定義,
為 Eclipse 使用者提供了對於資料之共用和可見性範圍的控制。
Eclipse 定義下列位置記號:
- 使用者 (-user) {osgi.user.area} [@none, @noDefault, @user.home, @user.dir,
filepath, url]
- 使用者位置是執行圖例使用者所專用的。
使用者位置通常是以 Java
user.home
系統內容值為基礎,但可予以置換。
您可以在使用者位置中,找到使用者範圍喜好設定和登入資訊之類的資訊。
- 安裝 (-install) {osgi.install.area} [@user.home, @user.dir, filepath,
url]
- 安裝位置是 Eclipse 本身的安裝位置。
實際上,這個位置是所執行的 startup.jar 或 eclipse.exe 的母項目錄(通常是 "eclipse")。
對一般使用者而言,這個位置應該視為唯讀,因為安裝可由許多使用者來共用。
您可以設定安裝位置,再分離 startup.jar 和 Eclipse 的其餘部分。
- 配置 (-configuration) {osgi.configuration.area} [@none, @noDefault,
@user.home, @user.dir, filepath, url]
- 配置位置包含用來識別和管理要執行的安裝(子)集的檔案。
就此而言,每項安裝都可能有許多配置。
安裝可能會檢附預設配置區,但一般啟動實務所涉及的執行時期會試圖尋找比較能夠寫入的配置位置。
- 實例 (-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
|
instance
|
yes |
yes
|
yes
|
yes
|
yes
|
yes(預設值)
|
configuration
|
yes
|
yes
|
yes*
|
yes*
|
yes
|
yes
|
install
|
no
|
yes
|
no
|
no
|
yes
|
yes
|
user
|
yes
|
yes
|
yes
|
yes
|
yes
|
yes
|
* 表示這個設定在技術上可能,但實際上很難管理。
特別是在沒有配置位置時,Eclipse 執行時期可能只會做到啟動 OSGi 組織架構。
