ファイル名に「.jar」がついたJARファイルがJavaライブラリの一般的な(ていうか唯一の?)形式。 JARファイルには、自身についてのメタ情報などを記載したマニフェストファイル(META-INF/MANIFEST.MF)という仕組みがある。 (マニフェストファイル、改行しないとダメだの色々フォーマットで口うるさいことで有名なようだ)
(マニュアル) https://docs.oracle.com/javase/jp/1.5.0/guide/jar/jar.html
実行可能JAR
マニフェストファイル中に「Main-Class」、javaコマンドおなじみのメインクラスをはじめから埋め込んだJARファイルを、 「実行可能JAR」と呼ぶそうだ。
つくり方は色々あるらしいが、以下参考できそうなものをリンク参照。
Jarファイルメモ(Hishidama's java-archive Memo)
Jarファイルメモ(Hishidama's java-archive Memo)
メインクラスをわざわざ書かなくていいのは素晴らしい。 けど、結局シェル作って
java -jar runnable.jar