Liberty: featureManager 指令
利用 featureManager 指令來安裝特性,以及取得所有安裝特性的詳細資料。
您想要安裝的特性必須包裝成子系統保存檔(ESA 檔)。
您可以透過 Proxy 伺服器,利用 featureManager 指令來存取 Liberty Repository 。 如需相關資訊,請參閱 在 Liberty 中配置 featureManager 指令的 Proxy 伺服器支援。
重要事項: featureManager
find、 install及 uninstall 動作已穩定,除非您安裝 .esa 檔案。使用 installUtility 指令,而非 featureManager 指令。 藉由 installUtility 指令,您可以管理更多的資產類型,並安裝、尋找或下載多個儲存庫中的資產。 如需相關資訊,請參閱 使用 installUtility 指令來安裝資產。
語法
指令語法如下:
featureManager action [options]
其中 action 可以是下列值之一:
- install
- 已穩定特性: 這個動作已穩定。 除非您安裝 .esa 檔案,否則請使用 installUtility install 指令。 請使用 featureManager 指令來安裝 .esa 檔。
- uninstall
- 已穩定特性: 這個動作已穩定。 請改用 installUtility uninstall 指令。
- featureList
- 產生一個 XML 檔,其包含一份報告,詳述所有已安裝的特性。
- find
- 已穩定特性: 這個動作已穩定。 請改用 installUtility find 指令。
- classpath
- 產生可新增至編譯器類別路徑,以便從特性清單使用 API 的 JAR 檔。 這個動作可讓您針對產品所包含的 API JAR,編譯建置 Script,而不需參照特定的 JAR 名稱,當套用修正套件時,這些名稱可能會改變。 輸出 JAR 含有產品中之 API JAR 的相對路徑。 因此,您不得將輸出 JAR 移至另一個目錄。附註: --features 選項必須與此動作一起指定。
- help
- 顯示指定動作的說明資訊。
選項
featureManager install 指令的可用選項如下:
- --acceptLicense
- 自動指示接受授權條款。
- --downloadOnly=[all | required* | none]
- 將所要求的特性下載至本端目錄,而不安裝特性。 這個選項可配置成下載所有的相依特性、此執行時期所需的相依特性,或是不下載任何相依特性。 預設值是下載必要的相依特性。 請以 --location 選項來指定目錄。附註: 如果您使用檔名或 URL 指定子系統保存檔位置,則無法使用此選項。
- -- location=directoryPath
- 當安裝特性時,這個選項指定可從中安裝特性的本端來源目錄。 當與 --downloadOnly 選項搭配使用時,這個選項是指定所下載特性的目的地目錄。 當使用 --downloadOnly 和 --offlineOnly 選項時,需要這個選項。附註: 如果您使用檔名或 URL 指定子系統保存檔位置,則無法使用此選項。
- --offlineOnly
- 如果您不想連接 Liberty Repository,請使用這個選項。 指令會改為只從本端目錄來安裝特性。 本端目錄是以 --location 選項指定。附註: 如果您使用檔名或 URL 指定子系統保存檔位置,則無法使用此選項。
- -- to=install_option
- 其中 install_option 可以是下列值之一:
- usr:特性安裝為一項使用者特性。 這是預設值。
- extension:您想要安裝特性的位置。 您可以將特性安裝在任何已配置的產品延伸位置。
- --viewLicenseAgreement
- 檢視授權合約。
- --viewLicenseInfo
- 檢視授權資訊。
- --when-file-exists=exist_option
- 指定如果要安裝的檔案已存在時,所要採取的動作。 exist_option 可以是下列值之一:
- fail:取消安裝。
- ignore:繼續安裝,並忽略已存在的檔案。
- replace:改寫現有的檔案。
- --verbose
- 在動作執行期間,可使用這個選項來顯示任何可用的其他資訊。
- name
- 指定您想安裝的一或多項特性,並以空格或逗點區隔。 您可以採用下列方式來指定特性:
- 特性 ID
- 指定特性的簡稱,例如
adminCenter-1.0 - 指定特性的符號名稱,例如
com.ibm.websphere.appserver.adminCenter-1.0
- 指定特性的簡稱,例如
- .esa 檔
- 指定檔名,例如 my_feature.esa
- 指定 URL,例如 http://myhost.ibm.com/liberty/assets/my_feature.esa
這個動作會使用 ESA 檔中的 OSGI-INF/SUBSYTEM.MF 檔作為新的特性資訊清單,您可以將它複製到以子系統符號名稱來重新命名的 ${wlp.user.dir}/extensions/lib/features 目錄 (如果指定了 --to 內容的值,則為產品延伸目錄)。 子系統的所有軟體組都會解壓縮至 ${wlp.user.dir}/extensions/lib 目錄,並重新命名為 {bundle symbolic name}_{bundle version}.jar。 授權檔、總和檢查檔、本地化檔案及其他子系統內容,也都會解壓縮到子系統資訊清單所定義的位置。
featureManager uninstall 指令的可用選項如下:
- --noPrompts
- 解除安裝特性,而不需要任何的使用者互動或確認訊息。
- --verbose
- 在動作執行期間,可使用這個選項來顯示任何可用的其他資訊。
- name
- 指定一或多項要解除安裝的特性,並以空格或逗點來區隔多個名稱。 您可以指定下列選項:
- 子系統保存檔(ESA 檔)的簡稱,例如
adminCenter-1.0。 - 子系統保存檔(ESA 檔)的符號名稱,例如
com.ibm.websphere.appserver.adminCenter-1.0。
- 子系統保存檔(ESA 檔)的簡稱,例如
featureManager featureList 指令的可用選項如下:
- -- encoding=charset
- 其中 charset 是建立 XML 報告檔時所用的字集。
- -- locale=language
- 其中 language 指定建立 XML 報告檔時所用的語言。 這是由 ISO-639 雙字母小寫語言代碼組成,後面選擇性地接著一道底線,以及 ISO-3166 大寫雙字母國家代碼。
- -- productExtension=name
- 其中 name 是要列出其特性的產品延伸名稱。 如果產品延伸已安裝在預設的使用者位置,請使用關鍵字:
usr。 如果未指定此選項,則會對 WebSphere® Application Server Liberty Core採取動作。 - XML_report_file_name
- 指定您想要建立的 XML 報告檔的名稱。
- --verbose
- 在動作執行期間,可使用這個選項來顯示任何可用的其他資訊。
featureManager find 指令的可用選項如下:
- --viewInfo
- 顯示詳細資訊。
- --verbose
- 在動作執行期間,可使用這個選項來顯示任何可用的其他資訊。
- searchString
- 產生適用於您配置的 Liberty Repository 資產清單。
featureManager classpath 指令的可用選項如下:
- -- features=feature1,feature2, ...
- 包含 API JAR 檔清單的特性清單。 這是 classpath 動作的必要選項。
- fileName
- 產生之 JAR 檔的名稱。
用法範例
下列範例會將子系統保存檔 my_feature.esa 安裝成一項使用者特性:
featureManager install my_feature.esa --to=usr
下列範例會將子系統保存檔 my_feature.esa 安裝到 my_extension 產品延伸位置中:
featureManager install my_feature.esa --to=my_extension
下列範例會針對所有已安裝的特性產生一份報告;這份報告利用巴西葡萄牙文寫入 my_feature_report.xml 檔中:
featureManager featureList my_feature_report.xml --locale=pt_BR
下例會產生一份報告,其中包含產品延伸(安裝在預設使用者位置 wlp/usr/extension,執行時期環境稱之為
usr 產品延伸)中定義的所有已安裝特性。 該報告會寫入 my_feature_report.xml 檔中:featureManager featureList --productExtension=usr my_feature_report.xml
下列範例會產生一份報告,其中包含產品安裝架構的 etc/extensions 目錄中 productExtensionName.properties 檔的內容所指向之位置所安裝的產品延伸中所定義的所有特性。 該報告會寫入 my_feature_report.xml 檔中:
featureManager featureList --productExtension=productExtensionName my_feature_report.xml
下列範例顯示 install 動作的說明資訊:
featureManager help install
下列範例是安裝特性,並包含其他資訊:
featureManager install extendedPackage-1.0 --verbose下列範例是尋找適用於您配置的資產:
featureManager find searchString下列範例列出詳細資訊:
featureManager find searchstring --viewInfo下列範例是尋找特性,並包含其他資訊:featureManager find "adminCenter-1.0" --verbose下列範例會將必要的相依關係從 Liberty Repository 下載至本端目錄,且不會安裝它們:
featureManager install feature_shortName --downloadOnly --location=c:\temp\download --acceptLicense下列範例會從 Liberty Repository下載所有相依關係:
featureManager install feature_shortName --downloadOnly=all --location=c:\temp\download --acceptLicense下列範例是安裝位於本端目錄中的特性。 如果遺漏相依關係,則會從 Liberty Repository安裝它們:
featureManager install feature_shortName --location=c:\temp\download --acceptLicense下列範例是從本端目錄安裝資產,而不從 Liberty Repository下載遺漏的相依關係:
featureManager install feature_shortName --location=c:\temp\download --offlineOnly下列範例是建立類別路徑 JAR 檔,並編譯使用它的應用程式類別:
featureManager classpath --features=servlet-3.0 classpath.jar
javac -cp classpath.jar TestServlet.java
下列範例是解除安裝特性:
featureManager uninstall adminCenter-1.0回覆碼
| 回覆碼 | 說明 |
|---|---|
| 0 | 指令已順利完成所要求的作業。 |
| 20 | 一或多個引數無效。 |
| 21 日 | 因為下列一或多個情況,而發生執行時期異常狀況:
|
| 22 | 您要安裝的特性已存在。 |
| 23 日 | 基於下列一或多個原因,特性定義無效:
|
| 24 日 | .esa 子系統保存檔的內容遺失。 |
| 25 GB | 您要安裝的檔案已存在,且您指定了 when-file-exists=fail 選項。 |
| 26 日 | 此產品不是核心產品,而且找不到產品延伸檔。 |
| 27 日 | 此產品不是核心產品,而且產品延伸未定義在 ${wlp.install.dir}/etc/extensions/extension_name.properties 檔中。 |
| 28 日 | 找不到產品延伸中之特性的資訊清單檔。 |
| 29 日 | 該特性不適用於現行產品。 |
| 36 | 使用者特性安裝架構對指定的延伸無效:--to=core。 |