この参照ページでは,JAVAコマンドについてだけ説明します。
OpenVMSシステムにJDKドキュメントがインストールされている場合は, ブラウザで次の場所を参照することによってJDKツール(コマンド)についてのドキュメントおよびその他Java参照情報を表示することができます。
SYS$COMMON:[SYSHLP.JAVA]INDEX.HTML
JAVA "クラス名" 引数
$ JAVA "java.lang.String"
この例では,JAVAはディレクトリ・パスを[JAVA.LANG]と解釈し, クラスのファイル名をSTRING.CLASSと解釈します。
main
メソッドに渡される引数です。
main
メソッドを含まなければなりません。
class Aclass { public static void main(String argv[]){ . . . } }
main
が1つあるいは複数のスレッドを作成しない場合は,
Javaインタプリタはmain
メソッドを実行して終了します。
main
によっていくつかのスレッドが作成された場合は,
すべてのスレッドが終了するまでJAVAコマンドは終了しません。
ユーザ独自のクラスを定義する場合は,その位置を指定しなければなりません。 このためには,CLASSPATH論理名(UNIXスタイルのディレクトリ・パス) あるいはJAVA$CLASSPATH論理名(OpenVMSスタイルのディレクトリ・パス)を使用します。
CLASSPATH論理名は, たとえば次のようにパスを指定する複数のディレクトリをコロンで区切ったリストから構成されます。
.:/home/xyz/classes:/usr/local/java/classes
また,UNIXシステムとは異なり, CLASSPATHにシステム・クラスを明示的に指定する必要もあります。 次の例を参照してください。
$ define/nolog CLASSPATH "/sys$common/java/lib/JDK116_CLASSES.ZIP:"
JAVA$CLASSPATH論理名を使用すると, OpenVMSファイル指定を使用してクラス・パスを定義することができます。
次の2つの宣言文の例は,いずれも同じ結果となります。
$ DEF JAVA$CLASSPATH USER1$:[SMITH.KIT]JDK115_CLASSES.ZIP,[] $ DEF CLASSPATH "/user1$/smith/kit/jdk115_class.zip:."
次の点に注意してください。
- 注意
- 任意のJavaツールによって読み込まれるすべてのJavaファイル, あるいは(CLASSPATHにリストされ)入力クラス・ライブラリとしてサービスされるすべてのJavaファイルはStream_LF形式でなければなりません。
ファイルのレコード形式を判定するには,次のようにします。
$ DIR/FULL MyFile.java次の行を確認してください。Record formatたとえば, テキスト・エディタを使用して最初にOpenVMSシステムで作成されたファイルは, 省略時の設定では可変長のレコード形式を持ちます。たとえば, 可変長レコード形式を持つ*.JAVAファイルが正しく編集されていてエラーがない場合あっても, コンパイル時にエラーが発生してコンパイラは正しい検査結果を出力しません。
ファイルをStream_LFレコード形式にするには,次のように変換します。
$ CONVERT/FDL=SYS$INPUT input_file-name output_file-name FILE ALLOCATION 4 BEST_TRY_CONTIGUOUS yes EXTENSION 0 ORGANIZATION sequential RECORD BLOCK_SPAN yes CARRIAGE_CONTROL carriage_return FORMAT stream_LF SIZE 0Stream_LF形式でないファイルをCLASSPATHで使用した場合, 次のようなエラーが表示されます。
Unable to initialize threads: cannot find class java/lang/Thread
通常,JAVACを使用してソース・ファイルをコンパイルし, 続いてJAVAを使用してそのプログラムを実行します。 ただし,/CHECKSOURCE修飾子を指定すると, JAVAコマンドを使用してプログラムのコンパイルと実行を行うことができます。 各クラス・ファイルがロードされる場合に, その更新日付がクラス・ソース・ファイルの更新日付と比較されます。 ソース・ファイルの更新日付の方が新しい場合は, 再コンパイルされて新しいクラス・ファイルがロードされます。 すべてのクラスが正しくコンパイルされてロードされるまで,JAVAはこの手順を繰り返します。
インタプリタは, クラスが検証メカニズムをパスした正当なものであるかどうかを判定することができます。 この検証により,クラス・ファイルを実行する前に言語の制限に違反していないことを保証します。
このコマンドには,次のいずれかの修飾子を指定することができます。
OpenVMS DCLスタイルを使用する場合は,次のように設定します。
$ DEFINE JAVA$USE_DCL 1 $ @SYS$MANAGER:JAVA$SETUP
DIGITAL UNIXスタイルを使用する場合は,次のように設定します。
$ DEASSIGN JAVA$USE_DCL $ @SYS$MANAGER:JAVA$SETUP
以降の修飾子についての説明では,両方のスタイルについて説明します。
.:{パス}
たとえば,次のようになります。
.:/home/xyz/classes:/usr/local/java/classes
$ JAVA /NOJIT ...
Javaデバッガは省略時の設定ではインタプリタを起動します。 JITコンパイラを使用してJavaデバッガを起動するには, /JIT修飾子を明示的に指定しなければなりません。
アプレットビューアを起動すると,省略時の設定ではJITを起動します。 インタプリタを使用してアプレットビューアを起動するには,次のように指定します。
$ APPLETVIEWER /PARAMETERS="-nojit"
省略時の設定では,xの単位はバイトです。 kあるいはkilobaytes,mあるいはmegabytesを追加することで, xにキロバイトあるいはメガバイトを指定することができます。
省略時の設定では,xの単位はバイトです。 kあるいはkilobaytes,mあるいはmegabytesを追加することで, xにキロバイトあるいはメガバイトを指定することができます。
Javaプロファイリングを有効としてJavaランタイムを起動します。
ファイル名を指定しない場合,
プロファイル結果は[]JAVA.PROF
ファイルに置かれます。
ファイル名を指定した場合,プロファイル結果は指定したファイルに置かれます。
kあるいはkilobaytes,mあるいはmegabytesを追加することで, xの単位を変更することができます。 省略時の設定では,スタック・サイズは128キロバイトです(/MAXCSTACK=128k)。
kあるいはkilobaytes, mあるいはmegabytesを追加することでxの単位を変更することができます。 デフォルトのスタック・サイズは400キロバイトです(/MAXJSTACK=400k)。
この修飾子はOpenVMSシステムのみでサポートされます。
/NOVERIFY修飾子(-noverifyオプション)は,検証を無効にします。
% java -Dawt.button.color=green ...
JAVAコマンドのコマンド・ラインには, 任意の数の/SYSTEM_PROPERTY修飾子を指定することができます。
$ JAVA /CLASSPATH=(USER1$:[mydir1],[.mydir2],[.mydir3]myzip.zip,[])- /INITHEAP="10m"/MAXHEAP="20m"- /SYSTEM_PROPERTY="XXX=ZZZ" "MyTestProgram"
この例では, MyTestProgram.classファイルに対してJavaランライム・インタプリタを実行します。
サーチ・パスにUSER1$:[mydir1],[.mydir2],[.mydir3]myzip.zip,[]を使用して, CLASSPATH論理名の現在の設定を上書きします。
実行中,システム・プロパティXXXはZZZに設定されます。 インタプリタは10メガバイトの初期ヒープ・サイズで実行されます。
"MyTestProgram"クラス・ファイルは, 綴りの大文字と小文字の区別を保持するように引用符で囲まれていなければならないことに注意してください。 引用符を使用しない場合,OpenVMSはすべての文字列を大文字に変更し, ソース・ファイルに記述されているクラス名と異なることになります。
カード・リーダからキューに登録されたバッチ・ジョブの先頭を示します。 システム・カード・リーダから登録されるバッチ・ジョブの先頭には, 必ずJOBカードを付けなければなりません。
JOBコマンドを短縮形にすることはできません。
$ JOB ユーザ名
ユーザ名とパスワードは,ログイン・プロシージャと同じ方法で, システム登録ファイルによって確認されます。 バッチ・ジョブを実行するプロセスに,省略時のディスクとディレクトリ, およびユーザ・アカウントに付属する特権が割り当てられます。 指定されたユーザ名のLOGIN.COMファイルが存在すると,ジョブの最初に実行されます。
バッチジョブの最後は,EOJコマンド,EOFカード(12-11-0-1-6-7-8- 9overpunch), または別のジョブ・カードで示されます。
時刻は,絶対時刻または絶対時刻とデルタ時間の組み合わせとして指定できます。 時刻の指定方法についての詳細は,『OpenVMSユーザーズ・マニュアル』 またはオンライン・ヘルプの DCL_Tips トピック (Date_Time サブトピック) を参照してください。
ユーザが/CHARACTERISTICS修飾子を指定する場合には, その修飾子に対して指定する属性はすべて, ジョブを実行するキューに対しても指定されていなければなりません。 この修飾子に指定された属性がキューに対して指定されていない場合には, キュー属性が変更されるまで, またはDELETE/ENTRYコマンドを使用してエントリが削除されるまで, そのジョブはキューの中で待ち状態となり実行されません。 キューに対してすでに指定されている属性を指定する場合には, JOBカードにすべての属性を指定する必要はありません。 属性が全く指定されていない場合も,ジョブは実行されます。
許可されているCPU時間より小さな値を指定する場合には,/CPUTIME修飾子を使用して, システム管理者が設定したキューの基本値, あるいは利用者登録ファイルに登録されている値を変更します。 無限の時間を要求する場合には,0またはINFINITEを指定します。 CPU時間を,利用者登録ファイルの値に設定する場合や, キューに対して指定されている上限に設定する場合には,NONEを指定します。 基本のキューの上限, あるいは利用者登録ファイル(UAF)に指定されている値より大きな値は要求できません。
/HOLD修飾子を指定する場合には, SET QUEUE/ENTRYコマンドに/NOHOLD修飾子または /RELEASE修飾子を使用して明確に解放するまで, ジョブは処理のために解放されることはありません。
/LOG_FILE修飾子を指定した場合には, システムは指定したファイルにログ情報を書き込みます。 /NOLOG_FILEを指定した場合には,ログ・ファイルは作成されません。 どちらの修飾子も指定しない場合には,ログ情報は, 省略時のディレクトリに含まれるファイルの中で, ジョブの中の最初のコマンド・ファイルと同じファイル名を持ち, ファイル・タイプがLOGであるファイルに書き込まれます。 省略時の設定は,/LOG_FILE修飾子も/NOLOG_FILE修飾子も指定されていない状態です。
/LOG_FILE修飾子を使用すれば, ログ・ファイルを別の装置に書き込むように指定できます。 ファイル指定に含まれる論理名は,ジョブをキューに登録する時に変換されます。 バッチ・ジョブを実行しているプロセスは, ログ・ファイルが存在する装置に対してアクセスできなければなりません。
/LOG_FILE修飾子を省略し/NAME修飾子を指定する場合には,ログ・ファイルは, /NAME修飾子によって指定されたものと同じファイル名を持ち, ファイル・タイプがLOGであるファイルに書き込まれます。
パラメータを1つしか指定しない場合には,括弧を省略できます。
各パラメータは,コンマ(,)で区切ります。スペースや特殊文字,区切り文字, 小文字を含むパラメータを指定する場合には, パラメータ全体を二重引用符(" ")で囲まなければなりません。 各パラメータは,最大255文字の長さです。
/NOPRINTER修飾子を指定する場合には,/KEEP修飾子が指定されていると解釈されます。
指定したジョブに対して,ジョブ・スケジューリング優先順位を指定します。 優先順位の値は0〜255までの範囲です。 0がもっとも低い優先順位であり,255が最高の優先順位です。
/PRIORITY修飾子の省略時の値は,システムパラメータDEFQUEPRIの値です。 MAXQUEPRIの値より低い優先順位を設定する場合には,特別な特権は必要ありません。
/PRIORITY修飾子がプロセスの優先順位に影響を与えることはありません。 プロセス優先順位は,キューで設定されます。
nの値は,OpenVMS Alphaでは512バイトのページ・レットの数で, OpenVMS VAXでは512バイトのページの数で指定します。 OpenVMS Alphaは,この値をCPU固有のページに最も近い数に切り上げ, 実際に許可される物理メモリの量が指定量よりも大きくなるようにします。 詳細は『OpenVMSシステム管理者マニュアル』を参照してください。 n に対して指定できる値は,1〜65535までの整数,0,またはキーワードNONEです。
この修飾子を使用すれば,システム管理者が設定したキューの基本値, あるいは利用者登録ファイル(UAF)に登録されている値よりも小さい値にすることができます。 ワーキング・セットの値を,利用者登録ファイルに指定されている省略時の値や, キューに対して指定されている省略時の値に設定する場合には, 0 またはNONEを指定します。省略時の値より大きな値は要求できません。
nの値は,OpenVMS Alphaでは512バイトのページ・レットの数で, OpenVMS VAXでは512バイトのページの数で指定します。 OpenVMS Alphaは,この値をCPU固有のページに最も近い数に切り上げ, 実際に許可される物理メモリの量が指定量よりも大きくなるようにします。 詳細は『OpenVMSシステム管理者マニュアル』を参照してください。 n に対して指定できる値は,1〜65535までの整数,0,またはキーワードNONEです。
ワーキング・セット超過値を小さくするには,この修飾子を使用して, 利用者登録ファイル(UAF)に指定されている値ではなく, システム管理者が設定したキューの基本値よりも小さい値にします。 ワーキング・セット超過値を,利用者登録ファイルに指定されている値や, キューに対して指定されている値に設定する場合には,0または NONEを指定します。 省略時の値より大きな値は要求できません。
nの値は,OpenVMS Alphaでは512バイトのページ・レットの数で, OpenVMS VAXでは512バイトのページの数で指定します。 OpenVMS Alphaは,この値をCPU固有のページに最も近い数に切り上げ, 実際に許可される物理メモリの量が指定量よりも大きくなるようにします。 詳細は『OpenVMSシステム管理者マニュアル』を参照してください。 n に対して指定できる値は,1〜65535までの整数,0,またはキーワードNONEです。
この修飾子を使用すれば,システム管理者が設定したキューの基本値, あるいは利用者登録ファイル(UAF) に登録されている値よりも小さい値にすることができます。 ワーキング・セット・クォータの値を, 利用者登録ファイルに指定されている省略時の値や, キューに対して指定されている省略時の値に設定する場合には, 0またはNONEを指定します。省略時の値より大きな値は要求できません。
JOBおよびPASSWORDカードは, ユーザHIGGINSがバッチ・ジョブを登録するのを識別し認可します。 コマンド・ストリームは,FORTRANコマンドとコンパイル前の FORTRANソース・ステートメントから構成されます。 装置名SYS$INPUTに続くファイル名AVERAGEは, オブジェクト・ファイルとリスティング・ファイルのファイル名と持つコンパイラを提供します。 出力ファイルは,ユーザHIGGINGSの省略時のディレクトリに置かれます。
コンパイルが正常終了すると,LINKコマンドは実行可能イメージを作成し, RUNコマンドでそのイメージを実行します。 コマンド・ストリームのRUNコマンドの次に,プログラムの入力を行います。 ジョブの最後のコマンドは,プログラム・リスティングを印刷します。 デックの最後のカードには,EOJ (end-of-job)コマンドが含まれています。
JOBカードの/NAME修飾子は,バッチ・ジョブ名を指定します。 ジョブが終了すると,印刷されたログ・ファイルはBATCH1.LOGとして識別されます。 JOBコマンドは,継続文字(-)がある2番目のカードまで続きます。 /PARAMETERS修飾子は,P1をA,P2をTESTと定義します。 デックの最後のカードには,EOJ (end-of-job)コマンドが含まれています。