网站验证码突然无法显示,并报如下错误。

javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class java.awt.image.BufferedImage

网上搜索了一下,在catalina.sh里加上一句“-Djava.awt.headless=true \”,问题解决。 
经查,出现这种情况一般就是启动tomcat的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问.

以下为转贴:

1.什么是Headless mode? 
Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。

2.何时使用和headless mode? 
Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。

3.如何使用和Headless mode? 
一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来: 
System.setProperty(“java.awt.headless”,”true”);

修改${TOMCAT_HOME}/bin/catalina.sh或${TOMCAT_HOME}/bin/catalina.bat文件:在所有类似以下代码:"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \-Djava.security.manager \-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \-Dcatalina.base="$CATALINA_BASE" \-Dcatalina.home="$CATALINA_HOME" \-Djava.io.tmpdir="$CATALINA_TMPDIR" \
在尾部加上一句:-Djava.awt.headless=true \
修改后内容如下:exec "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
      -Dcatalina.base="$CATALINA_BASE" \
      -Dcatalina.home="$CATALINA_HOME" \
      -Djava.io.tmpdir="$CATALINA_TMPDIR" \
      -Djava.awt.headless=true \

修改好后即可。

linux系统 中Tomcat 报错 Could not initialize class java.awt.image.BufferedImage相关推荐

  1. linux系统sql语句报错_如果数据库管理工具1045错误出现在Linux系统中怎么

    原标题:如果数据库管理工具1045错误出现在Linux系统中怎么 连接MySQL数据库时难免会遇到1045错误,主要是因为用户输入的用户名或密码错误被拒绝访问,如果不想重装,需要找回密码或者重置密码. ...

  2. linux系统中tomcat使用shutdown.sh无法停止服务器进程

    在linux系统中使用tomcat应用服务器,会出现使用shutdown.sh脚本无法停止tomcat进程的现象. 经过研究发现可以这样解决这个问题: 首先我们需要修改tomcat的./bin/cat ...

  3. win10启动内置Linux系统时,报错:WslRegisterDistribution failed with error: 0x800703fa

    安装和启动 旧版本的 win10 需要在"控制面板->程序->启用或关闭Windows功能"勾选"适用于Linux的Windows子系统(Beta)" ...

  4. linux系统sql语句报错_在linux下写的mysql无法插入,sql语句在复制中变'脏'了.

    1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统, 同事发到 ...

  5. Linux系统创建文件报错“E297: Write error in swap file“

    异常 突然发现无法在Linux系统下创建文件了,在任何目录下创建文件,更准确的说法是可以创建文件但是不能向文件写入内容,无论写入什么该文件的大小都为0. 后面执行vim abc.txt创建文件,发现报 ...

  6. linux系统中tomcat变量,Linux下jdk以及tomcat的环境变量到底要设置在哪个文件中?在线等,希望大家踊跃发言!...

    安装完了,在哪设置环境变量? 说法一堆: 1.用export命令直接在shell下设置,但是只对当前shell生效.如果从另外一个shell登陆,将不能使用刚才设置的变量. 2.在/etc/profi ...

  7. linux系统运行hwclock报错,linux系统时间和硬件时钟问题(date和hwclock)

    总结一下hwclock,这个容易晕: 1)/etc/sysconfig/clock 文件,只对 hwclock 命令有效,且只在系统启动和关闭的时候才有用(修改了其中的 UTC=true 到 UTC= ...

  8. linux安装tomcat_【零基础学云计算】详述Linux系统中Tomcat部署及优化

    Tomcat介绍 免费的.开放源代码的Web应用服务器 Apache软件基金会(Apache Software Foundation)Jakarta项目中的一个核心项目 由Apache.Sun和一些公 ...

  9. linux系统sql语句报错_linux之SQL语句简明教程---CREATE VIEW

    视观表 (View) 可以被当作是虚拟表格.它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料. 建立一个视观表的语法如下: CREATE VIEW & ...

最新文章

  1. java虚拟机所支持的指令_JVM虚拟机指令
  2. 【深度学习】ResNet的思想
  3. Spring Cloud Gateway(路由)
  4. Java黑皮书课后题第7章:***7.35(游戏:猜字词游戏)编写一个猜字词游戏,随机产生一个单词,当用户猜测正确后,正确的字母显示出来。当用户猜出一个单词,显示猜错的次数,并询问用户是否继续猜测
  5. 我们未能完成您的购买_销售完成后,客户的消极情绪产生的原因及处理方法
  6. 计算机网络——物理层设备
  7. SWPU第一届APP程序设计大赛筹备工作
  8. 创业编程七个错误认识
  9. Web前端现在薪资多少?企业喜欢什么样的Web前端工程师?
  10. PHP 判断字符的编码 并输出想要的编码格式字符 (转)
  11. 怎么用光驱给服务器装系统,如何用光驱重装系统?
  12. 中国省份数据字典表---自用
  13. Could not instantiate the executor. Make sure a planner module is on the classpath
  14. Delphi学习第一课
  15. python制作一个菜单_用CSS打造一个图形化的汉堡菜单
  16. 自动化测试报告发送--飞书(基于python)
  17. Scrapy入门到放弃06:Spider中间件
  18. 如何提高员工士气和工作满意度(上)
  19. 非功能需求的6种类型
  20. windows下之定时执行bat脚本

热门文章

  1. 单臂软路由实现(二) 新版OpenWrt实现VLAN划分 结合交换机进行拨号上网
  2. 夏威夷-玩转欧胡岛和大岛
  3. ld: file not found 错误解决办法
  4. [设备数][dts]:Flattened Devicetree (DTB) Format
  5. iMX6ULL驱动开发 | 让imx6ull开发板支持usb接口FC游戏手柄
  6. 批量提取文件名到excel,快速提取
  7. python解决鸡兔同笼问题解法_Python解决鸡兔同笼问题的方法
  8. prototype 小结
  9. mysql的分页查询用哪个关键字_MySQL 分页查询
  10. 三五族化合物半导体的能带结构