こちらで見たのと同様な話ですが、qsh なり何なりをある特定の Java のバージョンで実行させるのは
SystemDefault.properties の設定を行う、というのが正しいやり方になります。
システム全体でのデフォルトの値をセットするには /QIBM/UserData/Java400 にそれを置き、各自のホームディレクトリーを個別で上書きすることによって対応する、というのが一般的なやり方になるんでしょうね。
Information Center には以下のように書かれています。
ホーム・ディレクトリーにある SystemDefault.properties ファイルは、/QIBM/UserData/Java400 ディレクトリーにある SystemDefault.properties よりも優先されます。
/YourUserHome/SystemDefault.properties ファイルで設定するプロパティーは、以下の特定の Java 仮想マシンにのみ影響します。
- 別の user.home プロパティーを指定せずに開始する JVM
- プロパティー user.home = /YourUserHome/ を指定して他のユーザーが開始する JVM
この SystemDefault.properties と JAVA_HOME 環境変数を組み合わせて、Java
のバージョン、およびその32ビット版/64ビット版を切り替える、というかたちになっています。
ちなみに、こんなふうにも書いてあります。
Java システム・プロパティー
Java? システム・プロパティーにより、Java プログラムを実行する環境が決まります。 Java システム・プロパティーは、i5/OS? のシステム値や環境変数と似ています。
Java 仮想マシン (JVM) のインスタンスを開始すると、その JVM に影響するシステム・プロパティーの値が設定されます。
Java システム・プロパティーのデフォルト値を使用するか、以下の方法でそれらの値を指定できます。
- Java プログラムを開始するときにコマンド行 (または Java Native Interface (JNI) 呼び出し API) にパラメーターを追加する。
- QIBM_JAVA_PROPERTIES_FILE ジョブ・レベル環境変数を使用して特定のプロパティー・ファイルを指し示す。以下に例を示します。
ADDENVVAR ENVVAR(QIBM_JAVA_PROPERTIES_FILE) VALUE(/qibm/userdata/java400/mySystem.properties)- user.home ディレクトリーに作成する SystemDefault.properties ファイルを作成する。
- /qibm/userdata/java400/SystemDefault.properties ファイルを使用する。
i5/OS および JVM が、以下の優先順序で Java システム・プロパティーの値を決定します。
- コマンド行または JNI 呼び出し API
- QIBM_JAVA_PROPERTIES_FILE 環境変数
- user.home SystemDefault.properties ファイル
- /QIBM/UserData/Java400/SystemDefault.properties
- デフォルト・システム・プロパティーの値
- SystemDefault.properties ファイル
SystemDefault.properties ファイルは、Java 環境のデフォルト・プロパティーを指定できる、標準の Java プロパティー・ファイルです。- Java システム・プロパティーのリスト
QIBM_JAVA_PROPERTIES_FILE という環境変数が CL から環境をコントロールするのに使えそうですね。
システム全体で JVM の設定をセットするには /QIBM/UserData/Java400/SystemDefault.properties に java.version = 1.5 といったように指定します。
EDTF コマンドでファイルを作成し、

以下のように内容を記述します。

保管してファイルが作成されたのを確認します。

SystemDefault.properties の設定だけですと、i5/OS ネイティブの Java VM が使用されます。
qsh を実行してみて、java -version でバージョンの確認、Hello クラスの実行での Java が動くことの確認をやってみたところです。

上記設定のまま、JAVA_HOME 環境変数に /QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit と指定します。
ADDENVVAR ENVVAR(JAVA_HOME) VALUE(‘/QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit’)

すでに JAVA_HOME 環境変数が存在し、別の値が入っている場合は CHGENVVAR コマンドを使用します。
CHGENVVAR ENVVAR(JAVA_HOME) VALUE(‘/QOpenSys/QIBM/ProdData/JavaVM/jdk50/32bit’)

先の例と同じ、java のバージョンと Hello クラスを使ったそのバージョンの稼動の確認です。

|
|