1

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つの考えがあります:

  1. これは、元の jar が別のプラットフォームで作成されている間に、私が Mac を使用しているためです。
  2. これは、パッケージの作成中に定義されたJava ランタイム変数(jar の -J オプション) がいくつかあったためです。

これにより、作成されたプラットフォームを見つけてそこにパッケージ化するか、パッケージ化操作中に定義された-Jオプションを見つける必要があると思います。出来ますか?どのように?

4

0 に答える 0