我办公室的 Windows XP 工作站安装了几个旧版本的 Java JDK 和 JRE。我决定安装最新的 Java JDK 并卸载旧版 JDK 和 JRE。这导致了一些大问题!
首先,JDK 无法工作。尝试启动 Eclipse IDE 这样简单的事情都失败了。java -version
在命令提示符下输入也不起作用。它似乎正在寻找一个已删除的 JDK 安装,注册表中到处都是对现已删除的 JDK 的引用。
因此,我的下一步是卸载机器上的所有 Java JDK 和 JRE,然后从头开始。不幸的是,Windows XP“添加或删除程序”列表中出现了一个 JRE 安装,但它实际上已经从机器上消失了。注册表中的几个地方也存在对该 JRE 的引用。
因此现在我使用以下实用程序尝试从我的工作站清除 Java 残留:
JavaRa(1.16)
这些工具确实发现并删除了一些卸载的 JDK/JRE 遗留的垃圾,但并没有解决问题。
这就是我现在的情况:
尝试使用从 Sun(或者我猜现在是 Oracle)下载的独立安装程序在机器上安装 Java JRE。
安装程序正常启动,但仅在进度条启动画面一秒钟后就失败,然后显示此失败消息:
没有创建安装程序日志(java_install.log
文件不存在),所以我甚至没有任何信息可用于诊断此问题。它确实创建了文件jusched.log
,但似乎没有包含任何有用的信息。
如果我无法让 Java 在我的开发工作站上运行,我就会完全不知所措,有点倒霉。有人知道这是怎么回事吗?
答案1
我必须像 Jim 一样做,没有卸载程序起作用。作为参考,我删除了位于 HKEY_LOCAL_MACHINE/SOFTWARE 中的“JavaSoft”注册表文件夹,然后重新安装,一切顺利。
答案2
我尝试使用 CCleaner 清理注册表,但问题并未解决。我当时非常绝望,决定搜索注册表中regedt32
的“jdk1.6.0”实例,删除所有明显是垃圾的内容。任何我知道不再存在的 JDK/JRE 实例的注册表引用都被删除了。通常这意味着删除整个键,但有几个键我只需要删除单个值/数据对。在我可怜的毫无防备的注册表上完成肉丸手术后,我重新启动了。
免责声明:我不建议任何人开始将注册表中的随机键值作为解决问题的主要方法!这是我在考虑重新映像我的工作站并重新安装所有内容之前的最后手段。
话虽如此,这种方法确实解决了我的问题。我能够安装 JRE,然后 Eclipse 之类的东西又开始正常工作了。接下来,我安装了相同版本的 JDK,没有任何问题。