org.docx4j.openpackaging.exceptions.Docx4JException:Error marshalling Content_types

最近在进行大量的word合并的时候,报了一个org.docx4j.openpackaging.exceptions.Docx4JException:Error marshalling Content_types这个错误,具体报错全文如下:
org.docx4j.openpackaging.exceptions.Docx4JException:Error marshalling Content_types
at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:269)~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.io3.Save.save(Save.java:177) ~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:795) ~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:684) ~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:667) ~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.packages.OpcPackage.save(OpcPackage.java:656) ~[docx4j-6.1.0.jar:?]

Caused by:java.lang.NullPointerException
at org.docx4j.jaxb.NamespacePrefixMapperUtils.setProperty(NamespacePrefixMapperUtils.java:238)~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.contenttype.ContentTypeManager.marshal(ContentTypeManager.java:916)~[docx4j-6.1.0.jar:?]
at org.docx4j.openpackaging.io3.stores.ZipPartStore.saveContentTypes(ZipPartStore.java:265)~[docx4j-6.1.0.jar:?]
… 19 more
上面省略的部分为公司核心业务代码,故不作展示。

摘要
我们的项目是一个2C的项目,需要为客户定制化提供一些有偿服务。其中,就涉及到大量的word合并,因此,我们引入了docx4j和poi-tl、ooxml-schemas、poi-ooxml-schema等包,并且将项目部署在docker容器上,启动了多个节点运行。
但是在最终合并的时候报了如上错误,经过显示的错误信息,可以推测是word合并的时候出现了问题。经过详细的排查,发现是在paas容器里面jar包冲突导致,程序无法识别引用哪一个jar包因而报错。

解决方案
需要在paas容器拉镜像包的时候移除paas里面多余的jar包,具体示例代码如下:
rm -f /home/mydata/lib/jaxb.tools.2.2.1.jar
重新启动容器即可恢复正常

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值