7 回答
While many complaints about this problem exist online, a Google search against "Safari Windows jvm.dll JAVAFX" finds this obscure thread on the Apple Forums.
Summarized, the problem is when Safari checks the Windows Registry for a particular value, it uses the first value it finds instead of the correct value.
Steps to repair the issue:
- Close all Safari windows.
- Run
regedit.exe
- Backup your Windows registry (right-click the root
Computer
and selectexport
). - Go to
- 32-bit Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Plug-in\
- 64-bit Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in\
- 32-bit Windows:
- Examine each entry; there will probably be more than one.
- Some entries reference proper JREs, while some may reference JavaFX or something else.
- The JavaFX one may have been installed by Java 7.
- It is likely Safari is selecting the bottom-most sorted entry; check whether the file path reference for that entry is invalid or nonexistent.
- select the bad entry under
..\Java Plug-in\
, cross your fingers, and delete it. - close regedit
- re-open Safari and browse to a page with an applet. Give it a minute.
- At this point, you should be successful. If it continues to fail, check other registry entries under the
..\Java Plug-in\
or parent subfolder..\JavaSoft\
for invalid file paths. If you recently upgraded, a prior installation may have been invalidated, but the registry entries might not have been removed, and might have to be excised manually.
NOTE: Regarding step 4, your data may be under a different location; check the comments below for the experiences of other users who have resolved this issue in a similar fashion. Please post any alternate Windows Registry paths below as a comment.
Appreciation goes to user Olivier2011 (Olivier Lefevre) of the Apple Support Community (see first link in this answer) for following up his own question with his solution. Oliver's historical record of the incident from MarkMail.
Tried above but didn't work.
deleted java related stuff in C:\Program Files (x86)\Safari\Plugins - .jar and dll
Working now.
This is a problem with "java online install".
To solve:
- Uninstall all JavaFX and JRE in your machine.
- Download "java offline install" (~=20MB).
- Copy "java offline install" to Desktop.
- Close all Safari windows, including the download window.
- Install java.
Actually the combination of the top answer, the explanation at: https://discussions.apple.com/thread/3192281?start=0&tstart=0 and marcus pope's windows 7 location worked for me.
That is:
I have windows 7.
When trying to run a java applet (geogebra) I got the error message that Safari
could not load C:\PROGRA~1\Oracle\JAVAFX~1.0\bin\server\jvm.dll
since the path does not exist on my machine.
This is short for: C:\Programme\Oracle\JavaFX Runtime 1.0\etc
...
Steps:
- I shut down Safari.
- I opened my registry and went to:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in
. - There I found 2 folders (others have found more). The highest one was 10.5.1 and there I found a reference to the path C:\Programme\Oracle\JavaFX Runtime 1.0\etc.
- I backed up my registry and then deleted this folder.
- I restarted Safari and all is well.
You guys may want to look at the code that launches the applet, as it can specify which java version to run the applet in. There is a code that can be specified that says use the latest available. You also have the option to uninstall your java and resinstall it with a earlier version. Some broswers however will force you to use the latest, as there are some security risks with older versions.
Some reference links that might be of help:
- Multibrowser supported applets: https://eyeasme.com/Shayne/XHTML/appletObject.html
- Applet Params: http://download.java.net/jdk8/docs/technotes/guides/jweb/applet/applet_deployment.html
I had similar issues with Java after installing Java 7 update 15.
I tried all the above troubleshooting methods, but they all failed (I did not have plugins referred to by the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in.
).
What did work using Safari 5.1.7 was downloading an earlier version of Java (Java 7 update 11) from Oracle directly (the same version I used during the Safari 5.1.7 shelf life, when Safari 6 was Mac only).
The steps are:
- Uninstall Java from machine.
- Download "java offline install" (Java 7 update 11) (~=30MB).
- Copy "java offline install" to Desktop.
- Close all Safari windows, including the download window.
- Install Java.
I tried the above methods, and the post by 'Luds' worked.
I did have a plugin referred to by the key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Plug-in (for Java 7 update 17) but after I uninstalled JAVA 7 Update 17 from the windows control panel, it removed this entry.
I tried Java 7 Update 17, 15, 13 with no luck.
What worked for Safari 5.1.7 was downloading an earlier version of Java (Java 7 update 11) from Oracle directly like the poster 'Luds' mentioned.
The steps are:
- Uninstall current Java from machine.
- Download jre-7u11-windows-x64.exe (Java 7 update 11) (~=30MB) from: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jre-7u11-oth-JPR
- Copy the flavor of installer you need to Desktop.
- Close all open Safari windows, including the download window.
- Install Java SE Runtime Environment 7u11 (Java 7 update 11).