将java外部类编译为内部类

我需要给websphere一个补丁。 我有一个主要的java类,它有三个内部类。 我对主类的代码更改很少,但对内部类没有任何更改。 现在我的问题是,我是否需要将所有内部类与主类文件一起作为补丁或主类的一部分来充分?

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

 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文件中的顺序。

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

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