我们正在将申请从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
答案 0 :(得分:0)
确保清除重新编译出错的类。无论你设置什么标志:让它更干净,更强迫,直到它起作用。
答案 1 :(得分:-2)
这是因为要重新加载类。 检查是否两次添加了java_home或path变量。 可能是eclipse中的一种,默认情况下是一种(操作系统级别)。 删除重复的路径变量。