【Java】マニフェストファイルと実行可能JARファイル

ファイル名に「.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」と呼ぶそうだ。

つくり方は色々あるらしいが、以下参考できそうなものをリンク参照。

JDK付属ツールでコマンドラインより作成

Jarファイルメモ(Hishidama's java-archive Memo)

Eclipseプラグインから作成

Jarファイルメモ(Hishidama's java-archive Memo)

メインクラスをわざわざ書かなくていいのは素晴らしい。 けど、結局シェル作って

java -jar runnable.jar

ってやらなければいけない。Javaってそんなにスクリプトライクに作りこむ言語仕様じゃないし。あんまり意味ない・・・。