我有以下代码
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文件
但我面临以下例外:
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 :(得分: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>