-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 で指定する
する方が、メンテナンスが楽です。