我的产品在 JRE 6.31 上运行没有任何问题。现在我试图将它设置为与 JRE 7 一起工作,但是当我在 Linux 机器上运行它时,我得到:
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager
调用 java.awt.Font.canDisplayUpTo()
时。这个案子是不是很眼熟?
最佳答案
看来您的 Linux 机器没有安装 X11,或者没有可用的 X 显示器。
如果您的应用程序是服务器应用程序,请尝试使用命令行开关强制进行 headless 渲染:
-Djava.awt.headless=true
编辑:
此外,用户报告说在 Linux 系统上,Oracle JDK 1.7 和 OpenJDK 1.7 都需要安装 dejavu 字体。
关于java - 升级到 JRE7 会抛出 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15480528/