You can use commands and parameters in the AdminSDKCmds group in the Jython or Jacl scripting languages to manage software development kit configurations.
Using the commands and parameters in the AdminSDKCmds group for the AdminTask object, you can see what software development kits are not used by a node, get or set the default software development kit (SDK) for a node, and get or set an SDK for a server.
Every WebSphere® Application Server version and operating system has a default SDK. For example, the default SDK for WebSphere Application Server Version 8 on workstations might be 1.6_32 for 32-bit operating systems and 1.6_64 for 64-bit operating systems. The name of an SDK that is installed at a particular computer location must be unique. On workstations, the default SDK is installed in a directory name that starts with ${WAS_HOME}/java for both 32- and 64-bit operating systems; for example, ${WAS_HOME}/java, ${WAS_HOME}/java_1.6_32, or ${WAS_HOME}/java_1.6_64.
For the OS/400® operating
system, the software development kits are part of the operating system
installation and are not part of the WebSphere Application Server installation.
For the OS/390® operating
system, symbolic links to the software development kits are in ${WAS_HOME}/java* directories.
The AdminSDKCmds wsadmin commands pertain to SDKs that are used by nodes or servers. To list and change the default SDK for a profile, use the managesdk command-line utility.
Use the getNodeDefaultSDK command to return the values of the default software development kit (SDK) for a node. The returned values include the Java home and SDK name.
Target object
None
Required parameters
Optional parameters
None
Batch mode example usage
$AdminTask getNodeDefaultSDK {-nodeName myNode}
AdminTask.getNodeDefaultSDK('[-nodeName myNode]')
AdminTask.getNodeDefaultSDK(['-nodeName', 'myNode'])
Interactive mode example usage
$AdminTask getNodeDefaultSDK {-interactive}
AdminTask.getNodeDefaultSDK('[-interactive]')
Run the getSDKVersion command to return the version number of the software development kit in use.
To get the SDK version in use in the cell, do not specify values for -nodeName, -serverName, or -clusterName.
Target object
None
Required parameters
None
Optional parameters
Batch mode example usage
$AdminTask getSDKVersion {-nodeName myNode -serverName myServer}
AdminTask.getSDKVersion('[-nodeName myNode -serverName myServer]')
AdminTask.getSDKVersion(['-nodeName', 'myNode', ' -serverName', 'myServer'])
Interactive mode example usage
$AdminTask getSDKVersion {-interactive}
AdminTask.getSDKVersion('[-interactive]')
Use the getServerSDK command to return the values of the software development kit for a server. If a valid SDK value is set for the server, the returned values include the Java home and SDK name of the default SDK for the server.
If no SDK value is set for the server, the command returns nothing for the Java home value because a variables.xml file does not exist for the server or a JAVA_HOME entry does not exist in the variables.xml file. For the SDK name value, the command returns the node SDK name because the node SDK is the default SDK for a server when a valid SDK has not yet been set using the setServerSDK command.
Target object
None
Required parameters
Optional parameters
Batch mode example usage
$AdminTask getServerSDK {-nodeName myNode -serverName myServer}
AdminTask.getServerSDK('[-nodeName myNode -serverName myServer]')
AdminTask.getServerSDK(['-nodeName', 'myNode', '–serverName', 'myServer'])
Interactive mode example usage
$AdminTask getServerSDK {-interactive}
AdminTask.getServerSDK('[-interactive]')
Run the getUnusedSDKsOnNode command to return a list of the names of software development kits that a node is not using.
Target object
None
Required parameters
Optional parameters
None
Batch mode example usage
$AdminTask getUnusedSDKsOnNode {-nodeName myNode}
AdminTask.getUnusedSDKsOnNode('[-nodeName myNode]')
AdminTask.getUnusedSDKsOnNode(['-nodeName', 'myNode'])
Interactive mode example usage
$AdminTask getUnusedSDKsOnNode {-interactive}
AdminTask.getUnusedSDKsOnNode('[-interactive]')
Use the setNodeDefaultSDK command to assign a default software development kit for a node. For the command, specify either the SDK Java home or the SDK name, but not both.
Target object
None
Required parameters
Optional parameters
To set a node default SDK, specify the required -nodeName parameter with either -javahome or -sdkName. Both the -javahome and -sdkName parameters are optional but you must specify either one of the parameters.
To clear SDK value settings for all servers on a node, specify true for -clearServerSDKs. After the server SDK value settings are cleared, servers use the SDK value setting for the node.
Batch mode example usage
$AdminTask setNodeDefaultSDK {-nodeName myNode -sdkName 1.6_32}
$AdminTask setNodeDefaultSDK {-nodeName myNode -sdkName 1.6_32 -clearServerSDKs true}
AdminTask.setNodeDefaultSDK('[-nodeName myNode -sdkName 1.6_32]')
AdminTask.setNodeDefaultSDK('[-nodeName myNode -sdkName 1.6_32 -clearServerSDKs true]')
AdminTask.setNodeDefaultSDK(['-nodeName', 'myNode', '-javahome', '${JAVA_LOCATION_1.6_32}'])
AdminTask.setNodeDefaultSDK(['-nodeName', 'myNode', '-sdkName', '1.6_32', '-clearServerSDKs', 'true'])
Interactive mode example usage
$AdminTask setNodeDefaultSDK {-interactive}
AdminTask.setNodeDefaultSDK('[-interactive]')
Use the setServerSDK command to assign a software development kit for a server. The command creates a variables.xml file for the server that designates the SDK. For the command, specify either the cluster or both the node and server. Optionally specify either the SDK Java home or the SDK name, but not both.
To clear the server SDK assignment, do not specify values for SDK Java home or the SDK name. For example, if server1 is assigned SDK 1.6_32, run setServerSDK without the -javahome and -sdkName parameters to have no SDK assigned for server1.
Target object
None
Required parameters
None
Optional parameters
Batch mode example usage
$AdminTask setServerSDK {-nodeName myNode -serverName myServer -sdkName 1.6_32}
AdminTask.setServerSDK('[-nodeName myNode -serverName myServer -sdkName 1.6_32]')
AdminTask.setServerSDK(['-nodeName', 'myNode', '–serverName', 'myServer', '-javahome', '${JAVA_LOCATION_1.6_32}'])
Interactive mode example usage
$AdminTask setServerSDK {-interactive}
AdminTask.setServerSDK('[-interactive]')