【已解决】com.alibaba.excel.exception.ExcelGenerateException: java.lang.InternalError: java.lang.reflect.

在excel中使用easyexcel导出突然报错,本地环境是导出正常的,部署到服务器报错

com.alibaba.excel.exception.ExcelGenerateException: java.lang.InternalError: java.lang.reflect.InvocationTargetException
	at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:67) ~[easyexcel-2.1.6.jar!/:na]
	at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:161) ~[easyexcel-2.1.6.jar!/:na]
	at com.alibaba.excel.ExcelWriter.write(ExcelWriter.java:146) ~[easyexcel-2.1.6.jar!/:na]
Caused by: java.lang.InternalError: java.lang.reflect.InvocationTargetException
	at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86) ~[na:na]
	at java.base/java.security.AccessController.doPrivileged(Native Method) ~[na:na]
	at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) ~[na:na]
	at java.desktop/java.awt.Font.getFont2D(Font.java:497) ~[na:na]
	at java.desktop/java.awt.Font.canDisplayUpTo(Font.java:2246) ~[na:na]
	at java.desktop/java.awt.font.TextLayout.singleFont(TextLayout.java:469) ~[na:na]
	at java.desktop/java.awt.font.TextLayout.(TextLayout.java:530) ~[na:na]
	at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:275) ~[poi-3.17.jar!/:3.17]
	at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.(AutoSizeColumnTracker.java:117) ~[poi-ooxml-3.17.jar!/:3.17]
	at org.apache.poi.xssf.streaming.SXSSFSheet.(SXSSFSheet.java:82) ~[poi-ooxml-3.17.jar!/:3.17]
	at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:658) ~[poi-ooxml-3.17.jar!/:3.17]
	at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:679) ~[poi-ooxml-3.17.jar!/:3.17]
	at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:90) ~[poi-ooxml-3.17.jar!/:3.17]
	at com.alibaba.excel.util.WorkBookUtil.createSheet(WorkBookUtil.java:66) ~[easyexcel-2.1.6.jar!/:na]
	at com.alibaba.excel.context.WriteContextImpl.createSheet(WriteContextImpl.java:187) ~[easyexcel-2.1.6.jar!/:na]
	at com.alibaba.excel.context.WriteContextImpl.initSheet(WriteContextImpl.java:167) ~[easyexcel-2.1.6.jar!/:na]
	at com.alibaba.excel.context.WriteContextImpl.currentSheet(WriteContextImpl.java:114) ~[easyexcel-2.1.6.jar!/:na]
	at com.alibaba.excel.write.ExcelBuilderImpl.addContent(ExcelBuilderImpl.java:56) ~[easyexcel-2.1.6.jar!/:na]
	... 40 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[na:na]
	at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84) ~[na:na]
	... 57 common frames omitted
Caused by: java.lang.NullPointerException: null
	at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) ~[na:na]
	at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225) ~[na:na]
	at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107) ~[na:na]
	at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719) ~[na:na]
	at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:367) ~[na:na]
	at java.base/java.security.AccessController.doPrivileged(Native Method) ~[na:na]
	at java.desktop/sun.font.SunFontManager.(SunFontManager.java:312) ~[na:na]
	at java.desktop/sun.awt.FcFontManager.(FcFontManager.java:35) ~[na:na]
	at java.desktop/sun.awt.X11FontManager.(X11FontManager.java:56) ~[na:na]

重点代码:

Caused by: java.lang.NullPointerException: null

at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262) ~[na:na]

解决方案

yum install dejavu-sans-fonts fontconfig -y