Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.

刚刚在一台Linux服务器上安装了jdk和Tomcat,而后部署了一个web项目,在项目中有个添加图片的功能,保存图片时报错java

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class javax.imageio.ImageIOlinux

web

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.UnsatisfiedLinkError: /home/software/jdk1.7.0_65/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directoryspring

网上说是jdk安装了32位的,应该安装64位的。而后我就将jdk删除重装了64位的。windows

如何查看jdk是多少位方法:tomcat

使用 java -version 便可。 
若是是安装了32位的jdk,则输出信息以下:服务器

java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) Server VM (build 25.144-b01, mixed mode)

上面的输出信息中没包含64bit。less

若是是安装了64位的jdk,则输出信息以下:post

java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

jdk由32位改成64位后,启动项目,保存图片时又报错了,报错信息以下ui

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit

org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.

百度了一下这个问题,基本上都说是以下缘由:

缘由是windows内核集成了gui,而linux上没有启动x server

解决办法:
1。启动x server

2。在java运行参数上加-Djava.awt.headless=true 

我修改了应用服务器的启动文件。tomcat中的/bin/catalina.sh文件,
在全部的        -Dcatalina.home="$CATALINA_HOME" /下面都加上了               

                       -Djava.awt.headless=true /而后问题就解决了。

相关文章
相关标签/搜索