我安装了我的应用程序的Weblogic 10.3.6.0。但是,一个功能无法运行,因为(根据日志文件)java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setLoadEntityBytesLimit(I)Lorg/apache/xmlbeans/XmlOptions;
。
我已经检查了我部署的应用程序。它只包含一个包含XmlOptions的库,该库具有该方法。
我强烈怀疑当时还有另一个加载了不同版本的库。我不知道我是否错了,但我发现了这个:
->> for i in `find /software/bea/Middleware/wls/10.3.6/modules/ -name "*.jar"`; do f=`/software/bea/java/jdk1.6.0_37/bin/jar -tvf $i | grep "org/apache/xmlbeans/XmlOptions.class"`; if [ "$f" != "" ]; then echo "On $i: $f"; fi ; done
On /software/bea/Middleware/wls/10.3.6/modules/com.bea.core.xml.xmlbeans_2.2.0.0.jar: 10904 Thu Jan 11 11:34:24 GMT 2007 org/apache/xmlbeans/XmlOptions.class
On /software/bea/Middleware/wls/10.3.6/modules/com.bea.core.xml.xmlbeans_2.2.0.0_2-5-1.jar: 11836 Thu Jul 14 12:38:04 BST 2011 org/apache/xmlbeans/XmlOptions.class
我也在WebConsole的Deployments菜单中查看了。它告诉我,我没有部署任何共享库。
我的问题是: 1.模块目录中的JAR文件是否会导致冲突? 2.如果没有,原因还有什么?
由于
答案 0 :(得分:1)
老实说,这是POI 3.14库中发生的一个问题。
这实际上很复杂。同时,我使用的是更新版本的POI,它仍然处于测试阶段(3.15 beta 1)。
您可以参考http://www.simosh.com/article/dgfacgbh-exception-when-using-apache-poi-to-read-xlsx-file.html
上的详细解决方案