首页 > 系统相关 >linux 系统上图形生成错误 java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnviro

linux 系统上图形生成错误 java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnviro

时间:2024-06-02 09:33:16浏览次数:16  
标签:lang java sun Could awt initialize X11GraphicsEnvironment

错误信息:

02-Jun-2024 09:11:09.421 SEVERE [Thread-32] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [springDispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment] with root cause
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment

原因分析:

验证码采用awt图形处理并内存中生成,java程序会去寻找linux上的图形界面是否启动 ,如linux缺少组件则, 缺少了显示设备、键盘或鼠标会报这个错误;

所以需要开启无头模式, Headless模式是系统的一种配置模式 , 开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来继续;

解决方案:

jar启动时,增加如下命令:

-Djava.awt.headless=true
war包启动,更改tomcat/bin/catalina.sh的文件,增加:

JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Djava.awt.headless=true"

 

标签:lang,java,sun,Could,awt,initialize,X11GraphicsEnvironment
From: https://www.cnblogs.com/101key/p/18226789

相关文章

  • 【精品毕设】基于JavaEE的模拟火车售票系统设计与实现
                                                一可行性研究1.概述用户:某省市乃至全国开发单位:浙江海洋学院D02计算机(2)班 何升高系统名称:火车售票系统2.系统目标 在2005年5月1日之前,开发一个火车售票系统,实现对火车......
  • A Novel Paradigm Boosting Translation Capabilities of Large Language Models
    本文是LLM系列文章,针对《ANovelParadigmBoostingTranslationCapabilitiesofLargeLanguageModels》的翻译。提升大型语言模型翻译能力的新范式摘要1引言2相关工作3新的训练策略4实验5结果和分析6消融研究:如果我们直接使用大量的翻译数据进行SFT会......
  • java动态获取实体类的字段
    1.使用反射(Reflection)API来动态地获取实体类的字段在Java中,我们可以使用反射(Reflection)API来动态地获取实体类的字段。以下是一个详细的代码示例,演示了如何获取一个实体类的所有字段:首先,我们定义一个简单的实体类(EntityClass):publicclassPerson{privateStringname;......
  • golang json 性能分析
    Json作为一种重要的数据格式,具有良好的可读性以及自描述性,广泛地应用在各种数据传输场景中。Go语言里面原生支持了这种数据格式的序列化以及反序列化,内部使用反射机制实现,性能有点差,在高度依赖json解析的应用里,往往会成为性能瓶颈,从下面的火焰图中可以发现在业务逻辑处理......
  • java中判断String类型为空和null的方法
    1.判断一个String类型的变量是否为空(即长度为0)或者为null在Java中,判断一个String类型的变量是否为空(即长度为0)或者为null,通常需要使用两个条件语句来进行检查。这是因为null表示变量没有引用任何对象,而空字符串("")表示变量引用了一个没有内容的字符串对象。下面是一个具体的代码......
  • 【JAVA】快速遍历map集合
    1.使用entrySet()方法【推荐】2.直接使用values()方法获取所有value值组成的集合3.使用keySet()方法和getValue方法4.使用迭代器iterator5.使用增强for的Lambda表达式......
  • java编辑器中如何调试程序?
    目录如何调试java程序?待续、更新中如何调试java程序?1看错误信息2相应位置输入输出信息:System.out.println("测试信息1");以此查看哪条语句未进行输入待续、更新中1顿号、:先使用ctrl+.,再使用一遍切回2下标:21==2~1~3上标:......
  • Java 日志
    概述Java日志系统中,有两个组件协同工作一个是负责日志输出的框架,如Logback、Log4j2一个是日志接口,提供统一的日志记录接口,如slf4j、Apachecommons-logging日志接口必须与日志输出框架集成后才能正常工作,集成时,需要相应的桥接包,以slf4j为例,集成log4j2时需要如下包slf4j-a......
  • 【Redis】 使用Java操作Redis的客户端
    文章目录......
  • Java项目:springBoot汽车销售管理系统(计算机毕业设计)
    作者主页:Java毕设网 简介:Java领域优质创作者、Java项目、学习资料、技术互助文末获取源码一、项目介绍本项目基于springboot以及Vue开发,为前后端分离的项目。针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管......