【Java】jarファイル作成時、java.io.IOException: invalid manifest formatと出たときにやったこと

投稿日:2016年8月22日
最終更新日:2018年11月5日

Javaで書いたclassの実行可能jarファイルを、Command promtから作成したときのこと。jarファイルをつくるのは初めてだったので、Oracleのマニュアルとかを見ながらやってみたんだけど以下のErrorが出た。

java.io.IOException: invalid manifest format
at java.util.jar.Manifest.read(Manifest.java:225)
at java.util.jar.Manifest.(Manifest.java:69)
at sun.tools.jar.Main.run(Main.java:176)
at sun.tools.jar.Main.main(Main.java:1288)

Errorメッセージの内容からmanifestのformatが間違っているっぽいのでmanifestファイルを色々いじってみたところ、manifestファイルの先頭に改行を入れていたのが原因だったらしい。

—manifestファイルの中身—
       ←ここに改行が入っていた
Manifest-Version: 1.0
Main-Class: LineConvertGui
・・・以下略・・・

改行を無くすと、以下のメッセージが出て問題なくjarファイルが作成できた。

(※LineConvert、XyzCheckは自作classの名前)
マニフェストが追加されました
LineCnvertFrame.classを追加中です(入=1132)(出=695)(38%収縮されました)
LineConvert.classを追加中です(入=1303)(出=714)(45%収縮されました)
LineConvertCui.classを追加中です(入=1369)(出=726)(46%収縮されました)
LineConvertFrame.classを追加中です(入=4663)(出=2434)(47%収縮されました)
LineConvertGui.classを追加中です(入=660)(出=438)(33%収縮されました)
XyzCheck.classを追加中です(入=1729)(出=936)(45%収縮されました)


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください