weblogic解决jar包冲突

zhangxiaocc 2019-12-15

前言

在项目中利用POI开发excel、word的导入导出功能,而POI在解析xlsx及docx两种高版本文档时需要依赖xmlbeans包,但weblogic容器中提供了低版本的xmlbeans,从而导致报错:

Caused by: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setLoadEntityBytesLimit(I)Lorg/apache/xmlbeans/XmlOptions;
at org.apache.poi.POIXMLTypeLoader.<clinit>(POIXMLTypeLoader.java:50)
at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:85)

由于weblogic下还部署有其他的应用,如果升级jar包可能会导致其他应用的异常,所以我们在当前应用下放置相应的jar包并通过调整类加载优先级使程序中加载本应用下相应版本的jar包;

调整方式

再 META-INFO/weblogic-application.xm 配置

<prefer-application-packages>
        <package-name>org.apache.xmlbeans.*</package-name>
</prefer-application-packages>

相关推荐