Javaの起動コマンドスクリプト

 -jar オプションによる JAR MANIFEST でメインクラスを指定した jar ファイル指定で
起動するケースがほとんどのせいで、
Java を学び始めた遠い昔で実行した起動コマンドスクリプトの作法を
忘れるまではいかなくても、これで良いのだっけと不安になってしまう。
 java [ options ] class [ argument ... ]

package org.abc; AppMain というmainメソッドクラスがあり、Javaコンパイル結果、
  /home/guest/classes/org/abc/AppMain.class
と配置されていたら、

java -classpath /home/guest/classes org/abc/AppMain

もしくは、

java -cp /home/guest/classes org/abc/AppMain

パッケージ区切りは実際コンパイルで配置されたOSのファイルPATH区切り文字である
パッケージ区切り文字の "." ではない。

クラスが展開された形ではなくjar配布であれば、起動クラスを探索するclasspath の指定は、
jar ファイルのPATH である。

java -classpath /home/guest/lib/hoge.jar org/abc/AppMain

依存するJARは全て ";" で連結指定しなければなりません。
依存するJARファイルのバージョン管理を考慮すると
やはり -jar JARファイルパス に全てを
梱包してビルド⇒ 実行する全ての依存するクラスを -jar で指定する
する方が、メンテナンスが楽です。