AdminTask 物件的 AdminSDKCmds 指令群組
您可以利用 Jython 或 Jacl Scripting 語言,以 AdminSDKCmds 群組中的指令和參數來管理軟體開發套件配置。
當使用 AdminTask 物件 AdminSDKCmds 群組中的指令和參數時,您可以查看哪些軟體開發套件未被節點使用、取得或設定節點的預設軟體開發套件 (SDK),以及取得或設定伺服器的 SDK。
每個 WebSphere® Application Server 版本和作業系統都有預設 SDK。 安裝在特定電腦位置的 SDK,名稱必須是唯一的。 在工作站上,預設 SDK 安裝在以 ${WAS_HOME}/java 開頭的目錄名稱中 (若為 64 位元作業系統); 例如 ${WAS_HOME}/java或 ${WAS_HOME}/java_8.0_64。
若為 OS/400® 作業系統,軟體開發套件是作業系統安裝的一部分,而不是 WebSphere Application Server 安裝的一部分。 對於 OS/390® 作業系統,軟體開發套件的符號鏈結位於
${WAS_HOME}/java* 目錄中。
AdminSDKCmds wsadmin 指令與節點或伺服器使用的 SDK 有關。 如果要列出及變更設定檔的預設 SDK,請使用 managesdk 指令行公用程式。
getNodeDefaultSDK
請利用 getNodeDefaultSDK 指令來傳回節點的預設軟體開發套件 (SDK) 值。 回覆值包括 Java™ 起始目錄及 SDK 名稱。
目標物件
無
必要參數
- -nodeName
- 指定您想要傳回其預設 SDK 值的節點名稱。 (字串,必要)
選用參數
無
批次模式用法範例
- 使用 Jacl:
$AdminTask getNodeDefaultSDK {-nodeName myNode} - 使用 Jython 字串:
AdminTask.getNodeDefaultSDK('[-nodeName myNode]') - 使用 Jython 清單:
AdminTask.getNodeDefaultSDK(['-nodeName', 'myNode'])
互動模式用法範例
- 使用 Jacl:
$AdminTask getNodeDefaultSDK {-interactive} - 使用 Jython:
AdminTask.getNodeDefaultSDK('[-interactive]')
getSDKVersion
請執行 getSDKVersion 指令來傳回使用中的軟體開發套件版本號碼。
如果要取得 Cell 中使用的 SDK 版本,請不要指定 -nodeName、-serverName 或 -clusterName 的值。
目標物件
無
必要參數
無
選用參數
- -nodeName
- 指定您想要傳回其 SDK 版本的節點名稱。 不要以 -nodeName 值來指定 -clusterName 值。 (字串,選用)
- -serverName
- 指定您要傳回其 SDK 版本的伺服器名稱。 如果您指定 -serverName 值,也請指定 -nodeName 值,但不要指定 -clusterName 值。 (字串,選用)
- -clusterName
- 指定您想要傳回其 SDK 版本的叢集名稱。 如果您指定 -clusterName 值,就不要 -nodeName 或 -serverName 值。 (字串,選用)
- -highest
- 指定是否傳回最高的 SDK 版本號碼。 依預設,會傳回最低的 SDK 版本號碼。 (Boolean,選用)
批次模式用法範例
- 使用 Jacl:
$AdminTask getSDKVersion {-nodeName myNode -serverName myServer} - 使用 Jython 字串:
AdminTask.getSDKVersion('[-nodeName myNode -serverName myServer]') - 使用 Jython 清單:
AdminTask.getSDKVersion(['-nodeName', 'myNode', ' -serverName', 'myServer'])
互動模式用法範例
- 使用 Jacl:
$AdminTask getSDKVersion {-interactive} - 使用 Jython:
AdminTask.getSDKVersion('[-interactive]')
getServerSDK
請利用 getServerSDK 指令來傳回伺服器的軟體開發套件值。 如果設定了伺服器的有效 SDK 值,傳回的值會包括伺服器預設 SDK 的 Java 起始位置和 SDK 名稱。
如果未設定伺服器的 SDK 值,指令就不會傳回 Java 起始位置值,因為伺服器的 variables.xml 檔不存在,或 variables.xml 檔中不存在 JAVA_HOME 項目。 對於 SDK 名稱值,指令傳回節點 SDK 名稱,因為當尚未使用 setServerSDK 指令設定有效的 SDK 時,節點 SDK 是伺服器的預設 SDK。
目標物件
無
必要參數
- -nodeName
- 指定伺服器執行的節點名稱。 (字串,必要)
- -serverName
- 指定您要傳回其 SDK 值的伺服器名稱。 (字串,必要)
選用參數
- -checkOnly
- 指定是否只檢查變數。 (Boolean,選用)
批次模式用法範例
- 使用 Jacl:
$AdminTask getServerSDK {-nodeName myNode -serverName myServer} - 使用 Jython 字串:
AdminTask.getServerSDK('[-nodeName myNode -serverName myServer]') - 使用 Jython 清單:
AdminTask.getServerSDK(['-nodeName', 'myNode', '-serverName', 'myServer'])
互動模式用法範例
- 使用 Jacl:
$AdminTask getServerSDK {-interactive} - 使用 Jython:
AdminTask.getServerSDK('[-interactive]')
getUnusedSDKsOnNode
請執行 getUnusedSDKsOnNode 指令來傳回節點未使用的軟體開發套件名稱清單。
目標物件
無
必要參數
- -nodeName
- 指定您想要傳回其未用 SDK 名稱的節點名稱。 (字串,必要)
選用參數
無
批次模式用法範例
- 使用 Jacl:
$AdminTask getUnusedSDKsOnNode {-nodeName myNode} - 使用 Jython 字串:
AdminTask.getUnusedSDKsOnNode('[-nodeName myNode]') - 使用 Jython 清單:
AdminTask.getUnusedSDKsOnNode(['-nodeName', 'myNode'])
互動模式用法範例
- 使用 Jacl:
$AdminTask getUnusedSDKsOnNode {-interactive} - 使用 Jython:
AdminTask.getUnusedSDKsOnNode('[-interactive]')
setNodeDefaultSDK
請利用 setNodeDefaultSDK 指令來指派節點的預設軟體開發套件。 對於這個指令,請指定 SDK Java 起始位置或 SDK 名稱,但不能兩者同時指定。
- 如果變更節點 SDK,請確定 Java 指令的選項和內容相容於新的 SDK。 請參閱「配置 JVM」。
- 如果您要指派為預設 SDK 的 SDK 安裝在受管理節點上,請確定在安裝 SDK 之後,受管理節點上的節點代理程式已重新啟動至少一次。 在重新啟動節點代理程式之前,部署管理程式並不知道新安裝的 SDK。
目標物件
無
必要參數
- -nodeName
- 指定您想要設定其預設 SDK 的節點名稱。 (字串,必要)
選用參數
如果要設定節點的預設 SDK,請搭配 -javahome 或 -sdkName 來指定必要的 -nodeName 參數。 -javahome 和 -sdkName 參數都是選用的,但您必須指定其中一個。
true,搭配 -javahome 或 -sdkName 來指定必要的 -nodeName 參數。- -javahome
- 指定您要節點使用之 SDK 的 Java 起始位置。 如果您指定 -javahome 值,就不要指定 -sdkName 參數值。 (字串,選用)
- -sdkName
- 指定您要節點使用的 SDK 名稱。 如果您指定了這個 -sdkName 參數的值,就不要指定 -javahome 參數值。 (字串,選用)
- -clearServerSDKs
- 指定清除節點上所有伺服器的任何 SDK 值設定。 (Boolean,選用)
如果要清除節點上所有伺服器的 SDK 值設定,請在 -clearServerSDKs 中指定
true。 清除伺服器 SDK 值設定之後,伺服器會使用節點的 SDK 值設定。
批次模式用法範例
- 使用 Jacl:
$AdminTask setNodeDefaultSDK {-nodeName myNode -sdkName 8.0_64}$AdminTask setNodeDefaultSDK {-nodeName myNode -sdkName 8.0_64 -clearServerSDKs true} - 使用 Jython 字串:
AdminTask.setNodeDefaultSDK('[-nodeName myNode -sdkName 8.0_64]')AdminTask.setNodeDefaultSDK('[-nodeName myNode -sdkName 8.0_64 -clearServerSDKs true]') - 使用 Jython 清單:
AdminTask.setNodeDefaultSDK(['-nodeName', 'myNode', '-javahome', '${JAVA_LOCATION_8.0_64}'])AdminTask.setNodeDefaultSDK(['-nodeName', 'myNode', '-sdkName', '8.0_64', '-clearServerSDKs', 'true'])
互動模式用法範例
- 使用 Jacl:
$AdminTask setNodeDefaultSDK {-interactive} - 使用 Jython:
AdminTask.setNodeDefaultSDK('[-interactive]')
setServerSDK
請利用 setServerSDK 指令來指派伺服器的軟體開發套件。 這個指令會建立指定 SDK 之伺服器的 variables.xml 檔。 對於這個指令,請指定叢集,或同時指定節點和伺服器。 請選擇性指定 SDK Java 起始位置或 SDK 名稱,但不能兩者同時指定。
如果要清除伺服器 SDK 指定,請不要指定 SDK Java 起始位置或 SDK 名稱的值。 例如,如果 server1 獲指派 SDK 8.0_64,請執行不含 -javahome 及-sdkName 參數的 setServerSDK ,以不指派任何 SDK 給 server1。
目標物件
無
必要參數
無
選用參數
- -nodeName
- 指定伺服器執行的節點名稱。 如果您指定 -nodeName 值,也請指定 -serverName 值,但不要指定 -clusterName 值。 (字串,選用)
- -serverName
- 指定您想要設定其 SDK 的伺服器名稱。 如果您指定 -serverName 值,也請指定 -nodeName 值,但不要指定 -clusterName 值。 (字串,選用)
- -clusterName
- 指定您想要設定其 SDK 的叢集名稱。 指定參數時,叢集的叢集成員範本也會設定成使用新的 SDK 名稱或 SDK Java 起始目錄。 在叢集中建立的任何後續叢集成員會使用新的 SDK 名稱或 Java 起始目錄。 如果您指定 -clusterName 值,就不要 -nodeName 或 -serverName 值。 (字串,選用)
- -javahome
- 指定您要伺服器使用之 SDK 的 Java 起始位置。 如果您指定 -javahome 值,就不要指定 -sdkName 參數值。 (字串,選用)
- -sdkName
- 指定您要伺服器使用的 SDK 名稱。 如果您指定了這個 -sdkName 參數的值,就不要指定 -javahome 參數值。 (字串,選用)
批次模式用法範例
- 使用 Jacl:
$AdminTask setServerSDK {-nodeName myNode -serverName myServer -sdkName 8.0_64} - 使用 Jython 字串:
AdminTask.setServerSDK('[-nodeName myNode -serverName myServer -sdkName 8.0_64]') - 使用 Jython 清單:
AdminTask.setServerSDK(['-nodeName', 'myNode', '-serverName', 'myServer', '-javahome', '${JAVA_LOCATION_8.0_64}'])
互動模式用法範例
- 使用 Jacl:
$AdminTask setServerSDK {-interactive} - 使用 Jython:
AdminTask.setServerSDK('[-interactive]')