いまさらだけどjarへのまとめ方
jarから、実行できるようにするには、マニュフェストに、Main-Classを記述しなくてはならない。
Main-Class: 実行クラス名(.classは外して)
ただこの1行だけで、10分ほどはまった。
「:」の後に、「 」半角スペースが必要だったのだ。スペースなしで実行すると、
java.io.IOException: invalid header field at java.util.jar.Attributes.read(Attributes.java:387) at java.util.jar.Manifest.read(Manifest.java:167) at java.util.jar.Manifest.(Manifest.java:52) at sun.tools.jar.Main.run(Main.java:124) at sun.tools.jar.Main.main(Main.java:904)
が発生してしまう。
各オプションは、ヘルプを見てもらうとして、以下のようなコマンドを実行した。
jar cvfm hoge.jar META-INF\MANIFEST.MF *.class
後は、hoge.jarを使うだけ。