【コマンドラインメモ】JAVA(ふつう)


javac .java
拡張子javaのファイルを全コンパイルする。
これはワイルド―カード(
.java)で指定しているからで、
単一ファイルだけコンパイルするならAAA.java等ファイル単品を指定する。


javac -classpath ~ *.java
クラスパス指定して全コンパイルする。
外部jarのクラスを使ったソースのコンパイル等に使用。
classpathの書き方はWindowsとUNIX系で異なる
・Windows(各パスをセミコロン";“で繋げる。環境変数の参照は%で囲う)
 -classpath %JAVA_HOME%;%CD%\test.jar; *.java
・UNIX系(各パスをコロン”:“で繋げる。環境変数の参照は$を頭に付ける)
 -classpath $JAVA_HOME:pwd/test.jar: *.java

javac -encoding UTF-8 *.java
ソースファイルのエンコーディングを指定する。これはUTF-8。
未指定だとシステム依存になる。WindowsだとMS932(Shift-JIS)だしUNIXだとUTF-8

javac *.java -d .\classes</span>
-dオプションでコンパイル後のクラスファイルの出力先を指定できる。
この例だとカレントフォルダ配下の「classes」フォルダ内に出力する。
ちなみにWindowsの例。UNIXだと「javac *.java -d ./classes/」となる。

java AAA
AAA.classを実行する。

java -Xmx256M AAA
javaVMが使用するメモリ最大使用量を指定する。この例だと256M。
未指定だと64Mになる。
あまり無茶なプログラム構造でない限り基本的にこれで十分。

java -version
javaのバージョンを表示する。

java -verbose AAA
javac -verbose AAA.java
javaないしjavac実行時の細かい流れを一律表示してくれる。
どう頑張ってもパスが通らないとか、コンパイルエラーがなくならない、
とかのときになんとなく使用する程度。
情報量が多すぎてそこまで必要としない。

java -Dtest.param=aaa AAA
-Dでjava実行時にjavaVMに引き渡すシステムパラメータを指定できる。
-D[KEY]=[VALUE]の形。
渡したパラメータはjava内でSystem.getPropertyで取り出せる。
この例だとAAA.java内で
 String str = System.getProperty(“test.param”);
 System.out.println(str);
で「aaa」が標準出力できる。