java.lang.NoClassDefFoundError: org/openxmlformats/schemas/drawingml/x2006/main/ThemeDocument

1、错误描述

Exception in thread "main" java.lang.NoClassDefFoundError: org/openxmlformats/schemas/drawingml/x2006/main/ThemeDocument
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
	at java.lang.Class.getConstructor0(Class.java:3075)
	at java.lang.Class.getDeclaredConstructor(Class.java:2178)
	at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:55)
	at org.apache.poi.POIXMLFactory.createDocumentPart(POIXMLFactory.java:58)
	at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:625)
	at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:186)
	at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:260)
	at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:330)
	at com.you.print.ExcelUtils.replaceModel(ExcelUtils.java:21)
	at com.you.print.TestReplaceExcel.main(TestReplaceExcel.java:28)
Caused by: java.lang.ClassNotFoundException: org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 12 more

2、错误原因

        由错误提示可知,是缺少有关schemas的jar


3、解决办法

(1)将poi-ooxml-schemas-3.15.jar复制到lib目录下

(2)如果是maven项目,在pom.xml添加:



    org.apache.poi
    poi-ooxml
    3.15



你可能感兴趣的:(Java)