jWordConvert uses a subset of ooxml-schemas 1.1 where some classes and methods have been modified. Unfortunately since ooxml uses introspection internally, we could not rename the package and this can create a conflict for customers who also have this jar directly in their class path.

Sample Exceptions

Examples of exceptions received when there is a conflict:

Exception in thread “main” java.lang.NoClassDefFoundError: org/openxmlformats/schemas/wordprocessingml/x2006/main/FootnotesDocument$Factory
at com.qoppa.org.apache.poi.xwpf.usermodel.XWPFDocument.initFootnotes(Unknown Source)
at com.qoppa.org.apache.poi.xwpf.usermodel.XWPFDocument.onDocumentRead(Unknown Source)
at com.qoppa.org.apache.poi.POIXMLDocument.load(Unknown Source)
at com.qoppa.org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(Unknown Source)

in v2014R1 and earlier

com.qoppa.org.apache.poi.poifs.filesystem.OfficeXmlFileException: The supplied data appears to be in the Office 2007+ XML. You are calling the part of POI that deals with OLE2 Office Documents. You need to call a different part of POI to process this data (eg XSSF instead of HSSF)
at com.qoppa.org.apache.poi.poifs.storage.HeaderBlockReader.<init>(Unknown Source)
at com.qoppa.org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(Unknown Source)

in v2015R1 and above

In version v2015R1 and above, we’ve improved the error message so it will give more information:

“If you are using a different ooxml-schemas jar in your project you might try removing signing info from the jwordconvert.jar”

How to solve this problem

Please remove signature information on the jWordConvert.jar (if the ooxml jar is not signed) or make sure that both jars are signed with the same signature.