先来说说怎么发现这个问题的
项目中有个功能,导excel表格。
在使用poi3的时候,没有任何问题。
升级用poi5后,在本地开发测试,也没问题。
直到我把项目部署到了weblogic环境上,发现导EXCEL没有任何反应了。
然后为了看是打包的问题还是环境的问题,我把包又放在了tomcat下部署,结果是:正常。
所以得到结论:weblogic环境有问题。
源头
由此进行一番搜索,有了大致的方向,weblogic自带jar包和应用的jar包有重复,weblogic用了自带jar包。
**
解决方案:
**
1、在WEB-INFO文件夹下新建weblogic.xml文件
2、weblogic.xml文件夹内写入:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-web-app
http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd">
<container-descriptor>
<prefer-application-packages>
<package-name>org.apache.*</package-name>
<package-name>schemaorg_apache_xmlbeans.*</package-name>
</prefer-application-packages>
<prefer-application-resources>
<resource-name>schemaorg_apache_xmlbeans/*</resource-name>
</prefer-application-resources>
</container-descriptor>
</weblogic-web-app>
重点在于<prefer-application-packages>和<prefer-application-resources>标签
<prefer-application-packages>:优先加载的jar包路径
<prefer-application-resources>:暂时不知道
衍生至其他问题,可以在以上标签内,写上需要优先加载的jar,就可解决问题