java.lang.ClassFormatError:类文件中的重复方法名称和签名

时间:2013-06-14 06:24:51

标签: java java-ee ejb weblogic

我们正在将申请从Weblogic 10.3.0升级到10.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 .... ELOImpl.class中生成2个foo方法,当我们尝试部署ear文件时会导致此错误。

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

我们仍在使用EJB 2,此模式适用于Weblogic 8.1 and 10.3.0

2 个答案:

答案 0 :(得分:0)

确保清除重新编译出错的类。无论你设置什么标志:让它更干净,更强迫,直到它起作用。

答案 1 :(得分:-2)

这是因为要重新加载类。 检查是否两次添加了java_home或path变量。 可能是eclipse中的一种,默认情况下是一种(操作系统级别)。 删除重复的路径变量。