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() {}
}
それについて考えるとき、これは完全に理にかなっています:)。ジュフ!