项目场景:
部署在weblogic的java web程序,拥有导出excel功能
问题描述
正式环境的程序在使用excel导出功能时报java.lang.NoClassDefFoundError: Could not initialize class org.apache.poi.POIXMLDocument异常
原因分析:
排查问题:
1、检查war包的lib文件夹是否存在poi相关依赖(我的war包里存在)

2、分析java.lang.NoClassDefFoundError异常。程序能正常启动也就是能通过编译,在运行时出现异常,找不到类无法初始化,推测可能是和weblogic依赖冲突的原因,导致无法正确加载类。
解决方案:
1、打开weblogic.xml文件
2、增加poi和xmlbeans
<prefer-application-packages>
<package-name>org.apache.poi.*</package-name>
<package-name>org.apache.xmlbeans.*</package-name>
</prefer-application-packages>
在WebLogic部署的JavaWeb程序中,遇到使用ApachePOI进行Excel导出时的NoClassDefFoundError。经排查发现可能因WebLogic依赖冲突,通过修改weblogic.xml文件,添加<prefer-application-packages>标签来解决该问题。
5985

被折叠的 条评论
为什么被折叠?



