我使用 STATIC=1 开关在 Windows 7 上安装了 Java 8,希望安装时保留我的路径值,将 Java 7 安装保留为默认安装。这不起作用,通过在路径开头添加 C:\ProgramData\Oracle\Java\javapath 来修改路径值。我已将其从路径中删除,但应用程序仍以 Java8 作为默认打开。我甚至用指向 Java7 的快捷方式替换了上述目录中的快捷方式,但这不起作用。我还将 Java7 的路径放在了 Path 环境变量的开头。
我做错了什么?为什么我的应用程序仍在使用 Java8 而不是 Java7?
提前致谢。
编辑:我发现它会通过命令行从 java7 运行,而当通过 IE 转到 jnlp 的 URL 时,它会通过 8 运行。不知道为什么。
答案1
您是否知道 Java 还将 java.exe/javaw.exe 放入system32安装 Java 时,是否需要更改目录
(该目录也位于 Path-Variable 中)?
这可能是一个问题。
尝试将其从system32或者代替将其 (java.exe/javaw.exe) 替换为您所需的版本。
进一步 1:您可以在 Java 控制面板中停用/激活 Java 版本。
进一步 2:JNLP 可以指定运行应用程序所需的 Java 版本(检查 JNLP 以获取<j2se 版本="1.8+" >)。
附言:(引起一些评论)
Java不是比用 C/C++/Delphi/VB 创建的所有其他应用程序更不安全!说到安全性,在几乎所有情况下Java 沙箱是指。
干杯!
答案2
问题最终是由于通过 URL 启动 jnlp 时出现了意外行为。如果我尝试运行,javaws "<Place JNLP URL here>"
它会按预期在 Java 7 中运行。通过 IE 导航到它会在 Java 8 中启动它。这很奇怪,但我猜这是一个服务器端设置。