2012-04-13 33 views

回答

7

是的,你可以運行jar uf mJarFile.jar com\example\mClass.class

但是,請注意,如果類定義了常量static final原始或字符串變量,那麼這些值將爲in-lined into other classes(因此不會使用新類中包含的值)。

4

jar命令(在Sun JDK bin中提供)替換類。

但是,您需要了解以下內容。

jar uf myJar com\test\MyClass.class 

這裏的類位於com.test包

如果類有任何的子類,那麼通常這些類也被創建爲 MyClass的$ MySubclass.class

除了MyClass的。類你都需要替換/添加這些子類.class。 如

jar uf myJar com\test\MyClass$MySubclass.class 

同樣重要的是要了解是否涉及任何方法原型改變您的更改, 必須重新編譯那些依賴類和使用它。

最重要的是,如果你的jar被簽名了,你必須辭職你的jar。因爲如果您在jar中更改任何內容,簽名將會丟失。