2015-04-01 42 views
0

我有一個項目,其中xmlbeans 2.6.0罐子被引用並添加到類路徑。我創建一個類似於下面的類:從jar擴展類不起作用

import org.apache.xmlbeans.SchemaType; 
import org.apache.xmlbeans.impl.values.XmlComplexContentImpl; 
import org.apache.xmlbeans.impl.values.XmlObjectBase; 

public class Test3 extends XmlComplexContentImpl { 

    public Test3(SchemaType type) { 
     super(type); 
    } 

    public void hello() { 

     // The below method is present in XmlObjectBase which is extended by XmlComplexContentImpl 
     // XmlObjectBase and XmlComplexContentImpl are part of jar 
     generatedSetterHelperImpl(null, null, 0, (short)2); 

    } 

} 

當我創建Test3的一個實例,並調用hello()方法,錯誤NoSuchMethodError被拋出。它基本上不查找該方法的擴展類,而是在Test3中搜索該方法。

java.lang.NoSuchMethodError: com.voxify.vui.action.Test3.generatedSetterHelperImpl(Lorg/apache/xmlbeans/XmlObject;Ljavax/xml/namespace/QName;IS)Lorg/apache/xmlbeans/XmlObject; 

回答

0

這些錯誤通常來自jar版本衝突。編譯時和運行時可能有不同的jar版本。有一種方法可以快速檢查是否刪除了您認爲正在引用的jar。這樣你就可以在類路徑中找到同一個jar的不同版本,而這個版本實際上正在被加載。

+0

謝謝!這個項目有一些依賴項目。而在他們中,xmlbeans罐子存在,但版本相同 – allout 2015-04-01 06:51:06