4

我需要给 websphere 打一个补丁。我有一个主要的 java 类,它有三个内部类。我对主类的代码更改很少,但对任何内部类都没有更改。现在我的问题是我是否需要将所有内部类以及主类文件作为补丁或主类的一部分单独提供?

4

2 回答 2

3

这不是一个权威的答案,但是每次我做这样的补丁时,我都复制了所有的类(外部内部类),即

Outer.class
Outer$1.class     // These indexes might change ...
Outer$2.class     // ... between compilation runs
Outer$Inner.class // This name should never change

当我不这样做时,通常会有一些迟到的类加载副作用。在我看来,这最常发生是因为匿名内部类,它们并不总是重新生成相同的“匿名类索引”(如$1,$2等),具体取决于它们在.java文件中的顺序。

所以,可以肯定的是,因为这种修补无论如何都是一种流氓技术,所以我总是复制所有的类。

于 2012-10-16T13:32:44.550 回答
1

内部类就像隐含引用外部类的普通类一样,所以我会说如果你真的没有改变内部类,那么只给出外部类是安全的。

于 2012-10-16T13:33:40.450 回答