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模式
我已经多次使用前者 (-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模式