jar ファイル内の単一のクラス ファイルを置き換えても安全ですか?
クラス ファイルは安全ではない方法で相互に参照していますか?
グレー
jar ファイル内の単一のクラス ファイルを置き換えても安全ですか?
クラス ファイルは安全ではない方法で相互に参照していますか?
グレー
はい、実行できますjar uf mJarFile.jar com\example\mClass.class
。
ただし、クラスで定数static final
プリミティブまたは文字列変数が定義されている場合、それらの値は他のクラスにインライン化されることに注意してください (そのため、新しいクラスに含まれる値は使用されません)。
クラスを置き換えるjarコマンド(Sun JDK binで提供)。
ただし、以下を理解する必要があります。
jar uf myJar com\test\MyClass.class
ここで、クラスはcom.testパッケージにあります
クラスにサブクラスがある場合、通常、それらのクラスはMyClass$MySubclass.classとしても作成されます。
MyClass.classとは別に、これらのサブclasses.classを置き換える/追加する必要があります。そのような
jar uf myJar com\test\MyClass$MySubclass.class
メソッドのプロトタイプに関連する変更が変更されたかどうかを理解することも重要です。これらの依存クラスを再コンパイルして使用する必要があります。
とりわけ、jarが署名されている場合は、jarを再署名する必要があります。jarファイルで何かを変更すると署名が失われるためです。