Liberty:featureManager 指令
利用 featureManager 指令來安裝特性,以及取得所有安裝特性的詳細資料。
您想要安裝的特性必須包裝成子系統保存檔(ESA 檔)。
您可以使用 featureManager 指令,透過 Proxy 伺服器來存取「Liberty 儲存庫」。如需相關資訊,請參閱在 Liberty 中為 featureManager 指令配置 Proxy 伺服器支援。
重要: featureManager
find、install 和 uninstall 動作已穩定。
使用 installUtility 指令,而非 featureManager 指令。藉由 installUtility 指令,您可以管理更多的資產類型,並安裝、尋找或下載多個儲存庫中的資產。如需相關資訊,請參閱使用 installUtility 指令來安裝資產。
語法
指令語法如下:
featureManager action [options]
其中 action 可以是下列值之一:
- install
- 已穩定的特性: 這個動作已穩定。請改用 installUtility install 指令。
- 將特性或企業子系統保存檔 (ESA) 安裝到執行時期環境。
- featureManager 指令可從 Liberty Repository 下載資產;如需相關資訊,請參閱安裝 Liberty Repository 資產。
- uninstall
- 已穩定的特性: 這個動作已穩定。請改用 installUtility uninstall 指令。
- 使用特性的簡稱或符號名稱,來解除安裝特性。註:
- 在您解除安裝特性之前,請確定所有伺服器程序都已停止。
- uninstall 動作無法解除安裝使用者特性;例如 webCacheMonitor-1.0。
- featureList
- 產生一個 XML 檔,其包含一份報告,詳述所有已安裝的特性。
- find
- 已穩定的特性: 這個動作已穩定。請改用 installUtility find 指令。
- 在 Liberty Repository 中產生所有資產清單,在 Liberty Repository 中尋找適用於您配置的資產,或是檢視詳細資訊。
- 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。 授權檔、總和檢查檔、本地化檔案及其他子系統內容,也都會解壓縮到子系統資訊清單所定義的位置。
如需相關資訊,請參閱 WASdev.net 的 Downloads 頁面。
featureManager uninstall 指令的可用選項如下:
- --force
- 解除安裝指定的特性,而不考慮是否有其他已安裝的特性相依於它。註: 當解除安裝其他已安裝特性所需的特性時,可能導致那些特性停止運作,且伺服器無法正確執行。
- --noPrompts
- 解除安裝特性,而不需要任何的使用者互動或確認訊息。
- --verbose
- 在動作執行期間,可使用這個選項來顯示任何可用的其他資訊。
- name
- 指定一或多項要解除安裝的特性,並以空格或逗點來區隔多個名稱。您可以指定下列選項:
- 子系統保存檔(ESA 檔)的簡稱,例如 adminCenter-1.0。
- 子系統保存檔(ESA 檔)的符號名稱,例如 com.ibm.websphere.appserver.adminCenter-1.0。
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
下列範例是安裝特性,並包含其他資訊:
installUtility 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 | 您要安裝的檔案已存在,且您指定了 when-file-exists=fail 選項。 |
26 | 此產品不是核心產品,而且找不到產品延伸檔。 |
27 | 此產品不是核心產品,而且產品延伸未定義在 ${wlp.install.dir}/etc/extensions/extension_name.properties 檔中。 |
28 | 找不到產品延伸中之特性的資訊清單檔。 |
29 | 該特性不適用於現行產品。 |