AdminTask 物件的 AdminSDKCmds 指令群組

您可以利用 Jython 或 Jacl Scripting 語言,以 AdminSDKCmds 群組中的指令和參數來管理軟體開發套件配置。

當使用 AdminTask 物件 AdminSDKCmds 群組中的指令和參數時,您可以查看哪些軟體開發套件未被節點使用、取得或設定節點的預設軟體開發套件 (SDK),以及取得或設定伺服器的 SDK。

AdminTask 物件的 AdminSDKCmds 指令群組包括下列指令:

每個 WebSphere® Application Server 版本和作業系統都有預設 SDK。 安裝在特定電腦位置的 SDK,名稱必須是唯一的。 在工作站上,預設 SDK 安裝在以 ${WAS_HOME}/java 開頭的目錄名稱中 (若為 64 位元作業系統); 例如 ${WAS_HOME}/java${WAS_HOME}/java_8.0_64

[IBM i]若為 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 參數都是選用的,但您必須指定其中一個。

如果要清除節點上所有伺服器的所有 SDK 設定,請將選用的 -clearServerSDKs 參數設為 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。

避免麻煩: 如果您變更伺服器 SDK ,請確定 Java 指令的選項和內容與新的 SDK 相容。 請參閱「配置 JVM」。

目標物件

必要參數

選用參數

-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]')