Blog Archive

iSeries (AS400) V7R1 Java version and setup

The JDK version is determined from the value of the JAVA_HOME environment variable.
JDK 1.3 is no longer supported and JDK 1.4 is optional. Also the IFS root directory for JAVA in iSeries is now /QOpenSys which contains the /QIBM sub directory. BM i supports using multiple JDKs simultaneously, but only through multiple Java virtual machines. A single Java virtual machine runs one specified JDK. You can run one Java virtual machine per job.

When using IBM Technology for Java, you select which 5761-JV1 option to run (and therefore which JDK/bit mode) by setting the JAVA_HOME environment variable. Once a Java virtual machine is up and running, changing the JAVA_HOME environment variable has no effect.

The following table lists the supported options for this release.
5761-JV1 options JAVA_HOME java.version
Option 8 - IBM Technology for Java 5.0 32-bit /QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit 1.5
Option 9 - IBM Technology for Java 5.0 64-bit /QOpenSys/QIBM/ProdData/JavaVM/jdk50/64bit 1.5
Option 11 - IBM Technology for Java 6 32-bit /QOpenSys/QIBM/ProdData/JavaVM/jdk60/32bit 1.6
Option 12 - IBM Technology for Java 6 64-bit /QOpenSys/QIBM/ProdData/JavaVM/jdk60/64bit 1.6
Option 13 - IBM Technology for Java 1.4.2 64-bit /QOpenSys/QIBM/ProdData/JavaVM/jdk14/64bit 1.4

Note: If you install only one JDK, the default JDK is the one you installed. If you install more than one JDK, the following order of precedence determines the default JDK:

  1. Option 11 - IBM Technology for Java 6 32-bit
  2. Option 12 - IBM Technology for Java 6 64-bit
  3. Option 8 - IBM Technology for Java 5.0 32-bit
  4. Option 9 - IBM Technology for Java 5.0 64-bit
  5. Option 13 - IBM Technology for Java 1.4.2 64-bit


Here is a sample CL Program to set Java Environment on iSeries V7R1

             PGM                                                        
                                                                        
             RMVENVVAR  ENVVAR(JAVA_HOME)                               
             MONMSG     MSGID(CPF0000)                                  
                                                                        
             ADDENVVAR  ENVVAR(JAVA_HOME) +                             
                          VALUE('/QOpenSys/QIBM/ProdData/JavaVM/jdk60+  
                          /32bit')                                      
                                                                        
             RMVENVVAR  ENVVAR(CLASSPATH)                               
             MONMSG     MSGID(CPF0000)                                  
                                                                        
             ADDENVVAR  ENVVAR(CLASSPATH) +                             
                          VALUE('.:/QIBM/ProdData/HTTP/Public/jt400/u+  
                          tilities:myDirectory/lib/jt400.jar:myDirect+  
                          ory/lib/xerces.jar:myDirectory/lib/xercesSa+  
                          mples.jar:myDirectory/lib/jce.jar:myDirecto+  
                          ry/lib/jsse.jar')                             
                                                                        
            ENDPGM                     

Recommended Reading