Kitchen.jar
ファイルを更新しようとしていますが、更新後に機能しません。これが私がしたことです:
$ jar xf Kitchen.jar
$ jar uf Kitchen.jar com/package/Toster.class
すべてが良さそうです。opendiff
(およびjar tf
) に違いはありませんが、ファイル サイズは 1008 バイト異なります。バイナリ比較では、約 700 の違いが示されます。そして、瓶はもう機能しません。
ご覧のとおり、ファイルを変更していません。抽出を行い、元の変更されていないクラス ファイルで jar ファイルを更新しただけです。
SO で同様の質問を見たことがありますが、私の構造は変更されていないため、答えはありませんでした。
元のマニフェストには次のものがあります。
Created-By: 1.7.0_05-b05 (Oracle Corporation)
私が持っている間:
$ javac -version
javac 1.7.0_17
変更しようとしている Jar ファイルは Eclipse IDE プラグインの一部であると言わざるを得ません (ただし、これが関連しているかどうかはわかりません)。
私には2つの考えがあります:
- これは、元の jar が別のプラットフォームで作成されている間に、私が Mac を使用しているためです。
- これは、パッケージの作成中に定義されたJava ランタイム変数(jar の -J オプション) がいくつかあったためです。
これにより、作成されたプラットフォームを見つけてそこにパッケージ化するか、パッケージ化操作中に定義された-Jオプションを見つける必要があると思います。出来ますか?どのように?