linux下图片读取异常

去年遇到的一个老问题,今年又出现了,好记性不如烂笔头:
服务器(linux,was,jdk14)在读取图片时, 报如下异常:

java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment

这是因为java虚拟机在处理图片时需要本地的x-server的支持,解决方法:
启动java时加上参数:

-Djava.awt.headless=true

 

对于was:
可在控制台菜单:
应用程序服务器 > NTEL_RES > 进程定义 > Java 虚拟机下的“通用 JVM 实参 ”加入:
-Djava.awt.headless=true
对于tomcat,遇到类似情况,会报如下错误:

X connection to localhost:11.0 broken (explicit kill or server shutdown).
 


解决:
修改catalina.sh,增加JAVA_OPTS属性:Djava.awt.headless=true
比如:

JAVA_OPTS="-Djava.library.path=/usr/local/lib/pl-5.7.12/lib/i686-linux;-
Djava.awt.headless=true"
 

 

你可能感兴趣的:(java,tomcat,linux,应用服务器,虚拟机)