Graphics2D和
java.awt.*或
java.swing.*软件包中的任何内容都需要GUI进行绘制。
在大多数无头服务器上,这是一个问题。您有两个选择,然后按以下顺序尝试:
使用系统属性“ java.awt.headless”并将其设置为“ true”
java -Djava.awt.headless=true
或System.setProperty("java.awt.headless", "true");在服务器上安装XWindows虚拟帧缓冲区(xvfb)。这样可以使服务器保持畅通无阻,但是可以提供在虚拟屏幕上绘制所需的XWindows原语。它远未优化(没有图形加速),但是它将使您的系统重新运行。
该
java.awt.headless选项是Java
1.4引入的。参见:http
:
//java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/
如果不起作用,请安装XVFB软件包并将其配置为创建足够大的虚拟帧缓冲区以进行绘制。



