10

我们正在将我们的应用程序从 升级Weblogic 10.3.010.3.6. 当我们尝试部署它时,我们得到了错误:

 java.lang.ClassFormatError: Duplicate method name&signature in class file...

经过进一步调查,我们发现问题是由如下代码引起的:

interface Foo{ 
    void foo();
}
interface Bar{ 
    void foo();
}
interface Baz extends Foo, Bar{}
BazEJB implements Baz....

这导致在 Baz.... 中生成 2 个 foo 方法,ELOImpl.class当我们尝试部署 ear 文件时会导致此错误。

显而易见的解决方法是删除此模式,但还有其他建议吗?我们是这里的错误还是应该将其视为 weblogic 中的错误?

我们仍在使用EJB 2,并且这种模式在Weblogic 8.1 and 10.3.0

4

2 回答 2

-1

确保清理重新编译有错误的类。无论你可以设置什么标志:让它更干净、更强制,直到它起作用。

于 2015-10-05T20:41:36.180 回答
-3

这是因为类再次被重新加载。检查您是否添加了两次 java_home 或路径变量。可能是 Eclipse 中的一个和默认(操作系统级别)的一个。删除重复的路径变量。

于 2019-12-17T11:23:38.833 回答