JRE 选项 java.awt.headless 和 java.awt.headlesslib 有什么区别?

What is the difference between JRE options java.awt.headless and java.awt.headlesslib?

我已经多次使用前者 (-Djava.awt.headless=true) 以防止在 JRE 中使用某些图形方法的某些应用程序出现臭名昭著的 "no DISPLAY found" 错误。

不过从那以后我也知道了第二个的存在。尽管搜索了几个小时,我还是找不到两者之间的区别。

更糟糕的是,我根本不是 GUI 专家...所以,这有实际区别吗?什么代码适用于一个而不适用于另一个,或者需要两者等等?

java.awt.headlesslib 是 2001 年为响应错误 JDK-4407772.

添加的 临时解决方法 的一部分

如果您下载 openjdk6, openjdk7 or openjdk8 的源代码并 grep 查找 java.awt.headlesslib 的所有源文件,您将看不到任何结果。

所以设置java.awt.headlesslib的效果为null,设置java.awt.headless的效果是开启headless模式