Linux上 Can't connect to X11 window server 错误解决方法

Exception in thread "main" Java.lang.InternalError: Can't connect to X11 window server using 'localhost:11.0' as the value of the DISPLAY variable. 
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) 
at sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:134) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:141) 
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62) 
at java.awt.Font.initializeFont(Font.java:308) 
at java.awt.Font.(Font.java:344) 
at org.jfree.chart.axis.AxisConstants.(Unknown Source) 
at org.jfree.chart.axis.Axis.(Unknown Source) 
at org.jfree.chart.axis.CategoryAxis.(Unknown Source) 
at org.jfree.chart.ChartFactory.createLineChart(Unknown Source) 

我做了一个验证码图片自动生成器,windows上正常;linux上就报以上错误

原因是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                        /
这样做似乎有些笨,但毕竟解决了问题。

你可能感兴趣的:(java基础,java,web开发)