Java XMLBeans抛出NoSuchMethod错误

时间:2013-02-15 05:51:19

标签: java xmlbeans

我有以下代码

   static {
       wsAuthenticate = WsAuthenticate.Factory.newInstance(); 
    ...
    }

调用

public static final SchemaType type = (SchemaType) 
       XmlBeans.typeSystemForClassLoader(WsAuthenticate.class.getClassLoader(), 
           "schemaorg_apache_xmlbeans.system.sDE164C7F4147229ECE15396F7FA5432D")
       .resolveHandle("wsauthenticate751ftype");

在包含.xsb文件的jar文件中。 我使用了以下jar文件

  • xBean1.0.3.jar
  • xmlBeans2.3.0.jar
  • xmlSchema1.4.7.jar

但我面临以下例外:

java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Ljava/lang/ClassLoader;Ljava/lang/String;)Lorg/apache/xmlbeans/SchemaTypeSystem;
    at com.travis.webservices.WsAuthenticate.<clinit>(WsAuthenticate.java:19)
    at com.travis.webservices.WsAuthenticate$Factory.newInstance(WsAuthenticate.java:119)
    at com.mmi.api.ticketvala.TicketWalaMain.<clinit>(TicketWalaMain.java:64)
Exception in thread "main" 

at : 

   XmlBeans.typeSystemForClassLoader(WsAuthenticate.class.getClassLoader(),       "schemaorg_apache_xmlbeans.system.sDE164C7F4147229ECE15396F7FA5432D").resolveHandle("wsauthenticate751ftype");

可能是什么原因以及如何解决?

3 个答案:

答案 0 :(得分:0)

版本(2.1.0)中引入了此typeSystemForClassLoader方法。请参阅先前版本的javadoc检查,您可以看到此方法丢失。

<dependency>
    <groupId>xmlbeans</groupId>
    <artifactId>xbean</artifactId>
    <version>2.1.0</version>
</dependency>

答案 1 :(得分:0)

我在阅读.xlsx文件时也遇到了同样的异常

org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
Caused By :java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlBeans.typeSystemForClassLoadern

然后我删除了我的旧xmlbeans-2.0.jar并将最新的xmlbeans-2.3.0.jar包含在这个方法中,现在就解决了

答案 2 :(得分:0)

添加此依赖项解决了我的问题:

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>ooxml-schemas</artifactId>
        <version>1.3</version>
    </dependency>