nested exception is java.awt.AWTError: Can't connect to X11 window server using 'localhost:10.0' as
程序员文章站
2024-03-11 21:36:37
...
使用带图片访问服务器的一个接口时(服务器使用了tomcat作服务器,使用了ssm框架),服务器直接500报错
出现这个报错的原因是linux上未开启x server,我们需要在tomcat上配置一下,把它开起来
需要加上JAVA_OPTS="-Djava.awt.headless=true"
解释一下headless
Headless模式是系统的一种配置模式。在系统可能缺少显示设备、键盘或鼠标这些外设的情况下可以使用该模式。Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。
需要修改的tomcat配置文件是/tomcat目录/bin/catalina.sh
搜索一行:
图中fi 后的JAVA_OPTS是修改后的,原来只有绿色被注释了的那行,
如果不涉及jvm的性能调优的话,直接这么写就可以了:
JAVA_OPTS="-Djava.awt.headless=true"
如果涉及jvm的性能调优的话就在其中加上-Djava.awt.headless=true即可,如:
JAVA_OPTS="-server -Xms1536M -Xmx1536M -Xss256K -XX:MetaspaceSize=256M -Djava.awt.headless=true -Dfile.encoding=utf-8 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xloggc:/api/gc_logs/gc.log"
包括了初始堆大小,最大堆大小,栈大小分配,GC日志等
以上是一点对如何解决
nested exception is java.awt.AWTError: Can’t connect to X11 window server using ‘localhost:10.0’ as the value of the DISPLAY variable.
的方法