このcmd行を使用すると: jar cmf arshad.mf ars.jar *.class このエラーが発生します:
invalid header field name:Manifest-version
これは私のマニフェストファイルです:
Manifest-Version: 1.0
Main-Class:t
UTF-8 エンコーディングのメモ帳でマニフェスト ファイルを作成しました - マニフェストに問題はありますか?
コロンの後にスペースを追加します。
Manifest-Version: 1.0
Main-Class: t
はい、そうです。
jarのマニフェストファイルを作成するときによくある間違いは、コロンの後にスペースを入れないことです。あなたがここに書いたことに基づいて、それがそれであるかどうかはわかりませんが、試してみてください。
例:
Main-Class:someClass //wrong
Main-Class: someClass //correct
また、マニフェスト ファイルは UTF-8 として保存する必要があります。MS メモ帳に書き込んで UTF-8 エンコーディングとして保存することは必ずしも安全ではありません。この投稿にはいくつかの良い詳細があります:
Eclipse を使用して JAR にマニフェストを追加するときの無効なヘッダー フィールド名
メモ帳は、データのエンディアン性をブロードキャストするために、先頭にいくつかのバイトを追加します。これにより、jar コマンドが壊れます。適切な解決策は、メモ帳を使用せずに Notepad++ をダウンロードすることです。Notepad++ では、上部のバーから「エンコード」を選択し、「BOM なしの UTF-8」を選択します。この設定を適用してマニフェスト ファイルを保存すると、問題が解決するはずです。他にない場合。