Weblogic报错:java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansi


描述:项目在tomcat服务器上部署时,使用POI导出Excel文件不会报错,能够正常下载,将项目部署在Weblogic服务器上后,使用POI导出Excel文件报错:

java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansi

原因:在Weblogic中,如果事先未将项目自带的依赖文件优先级设置为最高,那么Weblogic默认会先去加载其本身就有的低版本的beansxml依赖,高版本中的方法就会出现找不到的情况

解决方法:设置项目依赖文件的优先级,在项目的文件META-INF下新建一个weblogic.xml,内容如下:

<?xml version="1.0"?>
app
    xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
    
        true
    

重启Weblogic即可。