tomcat发布遇到验证码数不出来的问题【sun/awt/X11GraphicsEnvironment异常】

2023-05-16

出现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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tomcat发布遇到验证码数不出来的问题【sun/awt/X11GraphicsEnvironment异常】 的相关文章

  • 开源表单收集系统推荐

    1 TDUCK填鸭表单官网 开源表单系统 xff0c 自定义工作流 xff0c 信息收集系统 业务表单自由拖拽实时生成 全新工作流版本 全新移动端UI 表单收款 全新预约组件 投票场景支持 考试场景支持 函数计算支持 目前市面上的表单平台虽
  • .net framework 官方下载地址

    net framework 官方下载地址 https dotnet microsoft com zh cn download dotnet framework
  • QT/C++多线程练习:单生产者多消费者(巨详细版本)

    QT多线程练习 单生产者多消费者 代码思路1 全局变量2 消费者线程3 消费者管理类4 生产者线程5 主线程总结 最近在研究qt的线程的一些知识点 从如何新建线程到以不同的方式去新建线程 xff0c 再到多线程以及多线程同步的几种方式等 看
  • uniapp 设置背景图像

    uniapp设置背景图像方法如下 xff0c 兼容android APP lt view class 61 34 outer 34 style 61 34 background 39 url 39 43 APPSET bgUrl 43 39
  • nginx https 代理 tomcat http,解决访问https还会跳转http问题

    server listen 443 ssl 配置HTTPS的默认访问端口为443 如果未在此处配置HTTPS的默认访问端口 xff0c 可能会造成Nginx无法启动 如果您使用Nginx 1 15 0及以上版本 xff0c 请使用liste
  • jquery pagination分页组件

    pagination 一个jQuery插件 xff0c 提供简单但完全可定制的分页 样式如下 官网 https pagination js org github https github com superRaytin pagination
  • 通过FRP搭建内网穿透,实现域名访问局域网本机

    1我的目标 xff1a 实现通过域名访问局域网tomcat服务 xff0c 域名访问方便本地微信调试 2思路 xff1a xff08 1 xff09 用服务器搭建内网穿透 利用FRP实现穿透 xff0c frp 是一个专注于内网穿透的高性能
  • java 用combiner工具合成图片

    目录 图片合成工具image combinermaven引入项目java代码合成图片 图片合成工具image combiner 官网地址 https gitee com dromara image combiner maven引入项目 lt
  • java用图片生成pdf

    maven引入组件itextpdf span class token tag span class token tag span class token punctuation lt span dependency span span cl
  • Spring整体架构

    Spring框架是一个分层架构 xff0c 它包含一系列的功能要素 xff0c 并被分为大约20个模块 xff0c 如下图所示 Spring整体架构图 1 Core Container Core Container xff08 核心容器 x
  • 使用networkx常用函数分析连接图

    使用networkx常用函数分析图 1 Connected components 连通图 连通图内任意两点之间都存在path 由此函数可以得到一个components的列表 nx connected components G Q xff1a
  • http not supported or disabled in libcurl 和 未将对象引用到实例的解决办法

    curl获取天气时 xff0c 报错 xff1a http not supported or disabled in libcurl 找了半天 xff0c 发现url地址前面多打了一个空格 xff01 去掉空格就好了 然后蹦出来另一个问题
  • Policy gradient(策略梯度详解)

    文章目录 策略梯度基本知识什么是策略梯度 xff1f 强化学习案例 策略梯度公式详解如何使你的损失函数更好增加一个基准为每一个action分配不同的权重 策略梯度基本知识 什么是策略梯度 xff1f 直接根据状态输出动作或者动作的概率 那么
  • android apk的签名和权限问题

    一 android apk的签名问题 http blog csdn net lyq8479 article details 6401093 1 为什么要给Android应用程序签名 xff1f 如果只能用一句简单的话语来回答这个问题的话 x
  • ERROR in The “path“ argument must be of type string. Received undefined

    在前端开发中 xff0c 用webpack打包时 xff0c 有时候会遇到如题这个错误 比如我机器上的某个工程 xff0c 以下的webpack的配置 xff1a output path ghpages filename bundle js
  • TensorFlow Lite发布重大更新!支持移动GPU、推断速度提升4-6倍

    乾明 发自 凹非寺 量子位 出品 公众号 QbitAI TensorFlow用于移动设备的框架TensorFlow Lite发布重大更新 xff0c 支持开发者使用手机等移动设备的GPU来提高模型推断速度 在进行人脸轮廓检测的推断速度上 x
  • 全量备份+mysqlbinlog恢复数据

    全量恢复数据 xff08 全量备份 43 mysqlbinog xff09 现在凌晨三点了 xff0c 数据库自动备份开始了 xff0c 我们通过如下命令将数据库备份成 SQL 脚本 cd www server data backup ls
  • linux 使用su切换所有用户失败

    linux 系统中 su 切换所有用户失败 xff0c 但是ssh可以正常登录 原因是原先 usr bin su文件的 rwsr xr x权限被更改为 rwxr xr x 造成无法登录 在添加属主的s权限 root 64 rbtnode1
  • ARM-Linux下Qt4.8中加入qtserialport串口模块

    qt版本 xff1a qt 4 8 7 编译器 xff1a arm linux gcc4 4 3 qtserialport 5 3 2 模块下载 xff1a 链接 xff1a https pan baidu com s 1OjLAS4I s
  • gitlab中,developer无法推送到master分支的设定方法

    在开发中使用gitlab向master分支推送时 xff0c 经常会出现如下的错误提示 remote GitLab You are not allowed to push code to protected branches on this

随机推荐