我下载了JDK8 https://jdk8.java.net/download.htmlbuild b121 并在尝试安装时出现以下错误:
the procedure entry point RegDeleteKeyExA could not be located in the dynamic link library ADVAPI32.dll
操作系统为 Windows XP,版本 2002 Service Pack 3,32 位。
发生这种情况是因为 Oracle 放弃了对 Windows XP 的支持(Windows XP 没有RegDeleteKeyExA
由安装程序在其中使用ADVAPI32.DLL
顺便说一句)如所述http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-July/009005.html http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-July/009005.html。然而,虽然对 XP 的官方支持已经结束,但 Java 二进制文件仍然(至少从 Java 8u20 EA b05 开始)与 XP 兼容 - 只是安装程序不...
因此,解决方案实际上很简单:
获取 7-Zip(或任何其他好的解压程序),手动解压发行版 .exe,其中包含一个 .zip 文件(tools.zip
),也提取它,
-
use unpack200
从 JDK8 将所有 .pack 文件解压为 .jar 文件(较旧的解压将无法正常工作);JAVA_HOME
环境变量应设置为您的 Java 解压根目录,例如“C:\Program Files\Java\jdk8” - 您可以通过例如隐式指定它
SET JAVA_HOME=C:\Program Files\Java\jdk8
-
使用单个命令解压所有文件(在批处理文件中):
FOR /R %%f IN (*.pack) DO "%JAVA_HOME%\bin\unpack200.exe" -r -v "%%f" "%%~pf%%~nf.jar"
-
使用单个命令解压所有文件(来自 JRE 根的命令行):
FOR /R %f IN (*.pack) DO "bin\unpack200.exe" -r -v "%f" "%~pf%~nf.jar"
-
通过手动找到文件并一一解压来解压:
%JAVA_HOME%\bin\unpack200 -r packname.pack packname.jar
where packname
例如rt
将您要使用的工具(例如 Netbeans)指向%JAVA_HOME%
现在就可以走了。
注意:您可能不应该仅仅为了在 Web 浏览器中使用 Java 8 或出于任何类似原因(例如安装 JRE 8)而这样做;主要 Java 版本发布的早期更新中的安全缺陷是(请注意)传奇的,再加上对 XP 和 XP 上的 Java 8 都没有真正的支持,只会让事情变得更糟。更别说平时的你don't您的浏览器中需要 Java(请参阅http://nakedsecurity.sophos.com/2013/01/15/disable-java-browsers-homeland-security/ http://nakedsecurity.sophos.com/2013/01/15/disable-java-browsers-homeland-security/- 该主题已经在很多页面上介绍过,如果您需要更多信息,只需 Google 即可)。无论如何,据我所知,将此过程应用于 JRE 所需的唯一操作是将上面指定的一些路径从\bin\
to \lib\
(安装程序目录树中的文件放置有点不同) - 但我strongly建议不要这样做。
也可以看看:如何以 zip 文件形式获取最新的 JRE/JDK,而不是 EXE 或 MSI 安装程序? https://stackoverflow.com/questions/1619662/how-can-i-get-the-latest-jre-jdk-as-a-zip-file-rather-than-exe-or-msi-installe, JRE 1.7 - java 版本 - 返回:java/lang/NoClassDefFoundError:java/lang/Object https://stackoverflow.com/questions/11808829/jre-1-7-returns-java-lang-noclassdeffounderror-java-lang-object
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)