Linux下Tomcat中POI导出异常:java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
2023-09-11 14:16:58 时间
POI导出Excel出现java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment异常
问题描述:
项目在window中使用POI导出Excel没有任何问题,而到linux中使用POI导出Excel出现:java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment异常信息
异常信息如下:
Caused by: java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
at sun.font.FontManager.initSGEnv(FontManager.java:1094)
at sun.font.FontManager.findFont2D(FontManager.java:1756)
at java.awt.Font.getFont2D(Font.java:452)
at java.awt.Font.canDisplay(Font.java:1835)
at java.awt.Font.canDisplayUpTo(Font.java:1901)
at java.awt.font.TextLayout.singleFont(TextLayout.java:451)
at java.awt.font.TextLayout.(TextLayout.java:509)
at com.ai.mapp.service.table.utils.ReportExportExcel.exportExcel(ReportExportExcel.java:70)
at com.ai.mapp.action.business.ReportDataAction.expReportExcel(ReportDataAction.java:362)
... 56 more
解决方案:
在tomcat配置文件catalina.sh文件中添加 CATALINA_OPTS="-Djava.awt.headless=true"
catalina.sh添加之后如下:
# LOGGING_CONFIG (Optional) Override Tomcat's logging config file
# Example (all one line)
# LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties"
#
# LOGGING_MANAGER (Optional) Override Tomcat's logging manager
# Example (all one line)
# LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
#
# $Id: catalina.sh 1146097 2011-07-13 15:25:05Z markt $
# -----------------------------------------------------------------------------
JAVA_OPTS="-Xms512m -Xmx19500m"
CATALINA_OPTS="-Djava.awt.headless=true"
# OS specific support. $var _must_ be set to either true or false.
cygwin=false
os400=false
darwin=false
case "`uname`" in
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
Darwin*) darwin=true;;
esac
# resolve links - $0 may be a softlink
PRG="$0"
while [ -h "$PRG" ]; do
相关文章
- Linux服务器 java生成的图片验证码乱码问题
- linux防火墙开关以及端口规则添加
- linux下创建和删除软、硬链接
- linux: 安装jdk(java)
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- Linux strace命令
- 重新整理 .net core 实践篇 ———— linux 上线篇 [外篇]
- 重新点亮linux 命令树————selinux[二十六]
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- java 11 完全支持Linux容器(包括Docker)
- java 11 标准Java异步HTTP客户端
- Kali Linux下破解WIFI密码挂载usb无线网卡的方法
- linux find批量替换java文件中字符串
- 在Java中可以使用自定义的java.net.InetAddress实现来解决虚拟hosts的问题
- Linux安装centos,网络net8模式ping不通www.baidu.com或者ping不通主机
- Linux系统之网络安全管理
- Xrdp - 从 Windows 通过 RDP 连接 Ubuntu Linux 远程桌面
- 嵌入式linux开发,Linux下访问PHY芯片寄存器
- 嵌入式Linux开发,去掉内核kernel开机画面logo屏幕上的打印信息
- 【oracle java 12 尝鲜】linux 下安装java 12
- kali linux 标题栏 显示 网速、CPU 内存使用
- 解决Linux下启动Tomcat遇到Neither the JAVA_HOME ...报错
- 周立功arm linux教程,极速搭建周立功IMX287A ARM Linux开发环境
- 【Deepin 20系统】Linux系统安装RTX 2070的NVIDIA卡驱动
- Linux复习资料——一篇文章学会安装Java(免环境配置)以及tomcat服务
- Linux 磁盘I/O是怎么工作的(上)
- 【Linux入门篇】系统配置文件