我正在尝试设置java.awt.headless=true
在应用程序启动期间,但似乎我来得太晚了,非无头模式已经开始:
static {
System.setProperty("java.awt.headless", "true");
/* java.awt.GraphicsEnvironment.isHeadless() returns false */
}
除了之外还有其他方法将 headless 设置为 true-Djava.awt.headless=true
?我不想在控制台上配置任何内容。
我当时正在和一个main()
在一个类中,该类在常量(和其他静态代码)中静态加载 JFreeChart 的不同部分。
将静态加载块移动到类的顶部解决了我的问题。
这不起作用:
public class Foo() {
private static final Color COLOR_BACKGROUND = Color.WHITE;
static { /* too late ! */
System.setProperty("java.awt.headless", "true");
System.out.println(java.awt.GraphicsEnvironment.isHeadless());
/* ---> prints false */
}
public static void main() {}
}
让java尽早执行静态块,将其移动到类的顶部!
public class Foo() {
static { /* works fine! ! */
System.setProperty("java.awt.headless", "true");
System.out.println(java.awt.GraphicsEnvironment.isHeadless());
/* ---> prints true */
}
private static final Color COLOR_BACKGROUND = Color.WHITE;
public static void main() {}
}
仔细想想,这是完全有道理的:)。巨呼!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)