java - 升级到 JRE7 会抛出 java.lang.NoClassDefFoundError

标签 java noclassdeffounderror

我的产品在 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/

相关文章:

java - 具有安全管理器和内部 URLClassLoader 的 tomcat 上的 JndiPermission 错误

java - Cassandra 副本存储不平衡

java - 线程 'main' java.lang.NoClassDefFoundError : 中的异常

android - Android 上的 OSGi (Felix) : NoClassDefFoundError: sun/reflect/ConstructorAccessorImpl

java - 在 Java 中读取文件、替换单词并写入新文件

java - Android - 自定义 ListView 创建正确数量的条目,但仅填充第一个条目

java - 如何同时遍历两个 ArrayList?

java - 使用 Eclipse 获取 NoClassDefFoundError -> com/sun/jna/platform/win32/Psapi

java - Android - NoClassDefFoundError 与从其他非 Android 项目生成的 .jar

web-services - 尝试列出服务时 Apache Axis NoClassDefFoundError