[ www.notava.org > ソフトウェア > ¬<><↑ (notavaBOOT) ]
ロイヤリティ・フリーです。
¬<><↑ (notavaBOOT) -- an excutable file for Windows that boots java
■ LICENSE
There is no warranty for this software. You may use, copy, distribute,
and/or modify this software and modified versions.
■ 動作環境
Windows95, NT 4.0 or later.
(Windows2000 でのみ動作確認されています)
■ 説明
表記:
- <parent> は、notavaboot.exe が存在するディレクトリ(末尾の \ を含む)
- <title>.exe は、notavaboot.exe のファイル名(<parent> や \ を除く)
- <title> は、<title>.exe から .exe を除いたもの
- <parameters> は、notavaboot.exe に渡されたパラメタ
を表します。
例: notavaboot.exe が C:\bin\foo.exe というファイルにリネームされているとき、
<parent> は C:\bin\
<title>.exe は foo.exe
<title> は foo
<parent><title>.exe は C:\bin\foo.exe
notavaboot.exe は、次のようにプログラムをブートします。
1) もし <parent><title>.notavaboot が存在しない場合、
java %<title>_VMOPTIONS% -jar <title.jar> <parameters> を起動します。
ここで、%<title>_VMOPTIONS% は環境変数 <title>_VMOPTIONS の値、
<title.jar> は、次のいずれかです:
<parent>..\lib\<title>.jar
<parent><title>.jar
<parent>lib\<title>.jar
<parent>..\<title>.jar
2) もし存在する場合、次の手順でプログラムをブートします。
2-1) <parent><title>.notavaboot ファイルに含まれるテキストを、トークン
の列に分割します。「"」で囲まれていないホワイトスペースがセパレータ
になります。
例:
テキスト: java %OPTS% -jar %@..\lib\foo.jar "%OPTS% "%OPTS% * *;
は、7つのトークンに分割されます。
2-2) 環境変数を展開します:
a) 「"」で囲まれていない、「%」で囲まれている文字列を、その文字列を
名前にもつ環境変数の値で置き換えます。もし環境変数が存在しない場
合、単純に削除されます。もし、「%」で囲まれている文字列が、トー
クンの一部分の場合、置き換えられた文字列は「"」で囲まれます。も
し、「%」で囲まれている文字列が、トークン全体の場合、置き換わる
文字列が存在するファイルの名前でない場合に限り、「"」で囲まれま
せん。
b) %* を <parameters> で置き換えます。
c) %@ を「"」で囲まれた <parent> で置き換えます。
置き換えられたトークンは、2-1) のようにトークンの列に分割されます。
置き換えは、再帰的に行われません。
例:
環境変数 OPTS の値が -Xmx128m -ea のとき
7つのトークン: java %OPTS% -jar %@..\lib\foo.jar "%OPTS% "%OPTS% * *;
は、次の8つのトークンに置き換えられます。
java
-Xmx128m
-ea
-jar
"<patent>"\..\lib\foo.jar
"%OPTS% ""-Xmx128m -ea"
*
*;
2-3) ワイルドカードの展開: もし、トークンが「"」で囲まれていない「*」や
「?」を含む場合、
a) そのトークンを、セミコロンをセパレータとして、パスの列に分割します。
b) パスが「"」で囲まれていない「*」や「?」を含む場合、そのパスがマ
ッチするファイルで置き換えます。ただし、パスの親ディレクトリの一
部に「*」や「?」を含むことはできません。例えば、parent\*.java は
有効ですが、*\foo.java は無効です。
もし、トークンがセミコロンを含まない場合、1つのファイルは「"」で囲
まれ1つのトークンを作ります。もし含む場合、ファイルはセミコロンで
接続され、全体で1つのトークンを作ります。
例:
カレントディレクトリに A、B、C の3つのファイルのみが含まれる場合、
前の8つのトークンは、次の10のトークンで置き換えられます:
java
-Xmx128m
-ea
-jar
"<patent>"\..\lib\foo.jar
"%OPTS% ""-Xmx128m -ea"
"A"
"B"
"C"
"A;B;C"
2-4) 「"」をすべて取り除き、最初のトークンで表されるプログラムを、2つめ
以降のトークンを引数にして、起動します。
例:
java.exe を、次の9つの引数で起動します。
-Xmx128m
-ea
-jar
<patent>\..\lib\foo.jar
%OPTS% -Xmx128m -ea
A
B
C
A;B;C