3

我需要在 java 服务器(Debian 的 java 版本“1.6.0_12”)上进行一些图像处理,并且我从我的代码中收到 java.awt.HeadlessException:

java.awt.HeadlessException
    at sun.java2d.HeadlessGraphicsEnvironment.getDefaultScreenDevice(HeadlessGraphicsEnvironment.java:64)
    at WaxOn.getDefaultConfiguration(WaxOn.java:341)

即使将 java.awt.headless 设置为 true (如此代码打印所示):

if (!java.awt.GraphicsEnvironment.isHeadless())
{
    logger.warn("Headless mode is not enabled");
}
else
{
    logger.info("Headless mode");
}

这是引发异常的代码:

public static GraphicsConfiguration getDefaultConfiguration()
{
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice gd = ge.getDefaultScreenDevice();
    return gd.getDefaultConfiguration();
}

知道如何解决这个问题吗?

4

2 回答 2

5

无头时,您没有屏幕设备。文档很清楚

抛出: HeadlessException - 如果 isHeadless() 返回 true

于 2010-12-26T16:04:26.567 回答
1

您的代码似乎在没有可用图形设备的机器上获取默认图形设备配置。这没有多大意义,而且永远不会奏效。

如果您能解释为什么要尝试这样做(在无头机器上),我们可能会提供替代方案。

于 2010-12-26T16:16:37.057 回答