2013-02-15 4 views
1

Я следующий кодJava XMLBeans бросает NoSuchMethod ошибку

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

который называет

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

в банке файл, содержащий .xsb файлы. Я использовал следующие баночке файлы

  • 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"); 

В чем может быть причина и как его решить?

ответ

0

Этот метод typeSystemForClassLoader представлен в версии (2.1.0). См. javadoc, проверяя предыдущие версии, вы видите, что этот метод отсутствует.

<dependency> 
    <groupId>xmlbeans</groupId> 
    <artifactId>xbean</artifactId> 
    <version>2.1.0</version> 
</dependency> 
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, содержащую этот метод, и он решается в настоящее время