虽然这个问题有点老了,但问题是由损坏的 ClearType 注册表设置引起的,并通过修复它来解决,如本ClearType、install4j 和 Java 错误帖子中所述。
ClearType、install4j 和 Java 错误 Java 案例
你知道 ClearType(Windows 中的字体平滑技术)与 Java(编程语言和推荐的框架之一)有什么共同点吗?
除了他们一起努力让我痛苦了几个月之外,别无其他。我有一些无法安装的 Java 软件。我的意思是真的不能——甚至不能找出原因或在另一台 PC 上重现它。
最近我获得了 Woopra beta(站点分析服务)的批准,它使用了用 Java 编写的桌面客户端……我无法安装。这让我真的很生气。:)
故事所有有问题的软件都是相似的:
基于 install4j 的设置;安装程序因一堆错误而崩溃。我在早期(大约一百次)尝试解决问题时指责 install4j。后来我慢慢明白,如果它被窃听了那么长时间——解决方案就会被创建并在谷歌上搜索。
跟踪 从 install4j 转移焦点后,我决定推动 Java 框架。我之前尝试过稳定版本,所以决定选择不稳定的 1.6 Update 10 Release Candidate。
这实际上修复了错误消息,但没有崩溃。我还注意到在带有安装文件的目录中创建了新的错误日志。以前我只在 Windows 临时目录中看到过日志。
新的错误日志说如下:
无法显示 GUI。此应用程序需要访问 X 服务器。如果您有权访问,则可能缺少 X 库。****************************************************** ***************** 您也可以通过传递参数 -c 在控制台模式下运行此应用程序而无需访问 X 服务器 在非 Linux 上查找 X 服务器非常奇怪电脑,不是吗?所以我决定尝试那个“-c”参数。并且实际上能够以控制台模式安装。
美好的结局?没有。现在安装的应用程序崩溃了。但这确实让我思考。如果控制台工作但图形界面没有 - 后者肯定有问题。
另一个错误日志(在应用程序文件夹中)现在说(除其他外):
引起:java.lang.IllegalArgumentException:-60397977 与特定于文本的 LCD 对比度键不兼容这成功地用谷歌搜索了我对 Java 无法读取非标准 ClearType 注册表设置的错误描述。
解决方案我立即从控制面板启动 ClearType Tuner,发现设置显示乱码。在将其更正为正确之后,Java 的所有问题都立即消失了。
cleartypetuner_screenshot 经验教训 不要急于将软件问题归咎于单个应用程序。即使是次要且完全不相关的环境也会引发致命的连锁反应。链接 Jave 运行时环境http://www.java.com/en/download/index.jsp
ClearType 调谐器
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
乌普拉http://www.woopra.com/
install4j
http://www.ej-technologies.com/products/install4j/overview.html