情况描述
此状况发生在Chrome 的较旧的版本上:
机器已经安装过JRE 或是JDK, 但是每次打开Chrome 浏览器使用Applet时, 会报需要下载JRE的提示信息(最新的JRE1.7)。
看上去, Chrome 并没有找到系统已经安装的JRE。
相比而言, 对于IE和Firefox 浏览器。我们可以在Java 控制台设置使用的JRE版本和支持的浏览器, 而且我们可以更改浏览器使用的JRE版本。
以上状况,在新的版本的Chrome 上,看上去是正常的。(不知道是否是安装顺序的原因)
我的安装顺序如下:
1. 安装Chrome的最新 版本 27.0.1453.110 m
2. 安装JDK版本 jdk1.6.0
按此顺序的话, Chrome打开Applet 就正常了。
既然正常了, 看上去本文接着往下就没什么意义了, 但是还有一个问题该如何修改 Chrome 使用的JRE版本?
Java 控制台“浏览器的默认Java”并没有Chrome 的选项。
IE 和Firefox 的设置方式
上面有提到, IE和Firefox 可以在 Java 控制台设置JRE以及支持的Browser。
设置方式如下:
1. 到 “Java安装目录\jre6\bin”,点击javacpl.exe 打开Java 控制台。
2. 到 "Java" tab 下, 可以看到机器安装的所有Java Runtime 版本。可以勾选使用哪一个?
3. 到"高级" tab 下, 可以看到"浏览器的默认Java" 的勾选项。
做过变更后, 最好重新启动浏览器。
Chrome 问题探讨
以上有说到按以下两步,Chrome 正常了。
1. 安装Chrome的最新 版本 27.0.1453.110 m
2. 安装JDK版本 jdk1.6.0
其实详细来说,我的历程应该如下:
历史环境1:
jdk 1.5 , chrome <27 版本 ==》 JRE 不正常
历史环境2:
于是我更新了Chrome 到27.0.1453.110 m ==》 JRE 不正常
最新环境:
于是我又卸载JDK1.5, 安装了JDK 1.6 . ==》 正常了。^^
看一下,环境变量的变化。
发现在
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\] 下面多了一项 @java.com/JavaPlugin 的配置。
看一下里面的值, Path 指到的就是刚刚安装JRE的路径下的文件。 导出整个目录的 javaPlugin.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin]
"Description"="Oracle?Next Generation Java?Plug-In"
"GeckoVersion"="1.9"
"Path"="C:\\Program Files\\Java\\jre6\\bin\\new_plugin\\npjp2.dll"
"ProductName"="Oracle?Java?Plug-In"
"Vendor"="Oracle Corp."
"Version"="160_24"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes]
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;jpi-version=160_24]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.1]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.1.1]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.1.2]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.1.3]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.2]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.2.1]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.3]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.3.1]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.4]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.4.1]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.4.2]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.5]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-applet;version=1.6]
"Description"="Java?Applet"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-vm]
"Description"="Java?Virtual Machine"
[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin\MimeTypes\application/x-java-vm-npruntime]
"Description"="Java?Applet"
如此看来, 如果我们需要修改JRE 版本的话, 修改这个注册表信息就可以了。
如果注册表里没有这个配置的话, 直接写一个这个文件,点击执行, 就导入到注册表了。
总结
在网络上搜了一下, 有发现解决类似问题的方法。正好和以上类似:
- Run the plugin installer anyways.
- Start -> Run (Winkey+R) and then type in
regedit
to edit the registry. - Find HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\@java.com/JavaPlugin.
- Export it as a reg file to say, your desktop (right-click and select Export).
- Uninstall the JRE (Control Panel -> Add or Remove Programs). This should delete the key above, explaining the need to export it in the first place.
- Open the reg file exported to your desktop with a text editor (such as Notepad++).
-
Edit "Path" so that it matches the corresponding dll inside your JDK installation:
在JRE1.5 或是非1.6 的版本的 jre\bin 目录下 是否存在new_plugin 的目录,也就是说是否存在 npjp2.dll 这个文件?