我正在努力解决以下问题。我无法安装微软 JVM 3810在 Windows 7 上正常运行。当我启动 Interner Explorer 8 而不启动任何 java 1.1 程序时,在 Internet 选项下选择 Java 自定义设置会导致浏览器崩溃。
我有一些 Java 1.1 程序,在安装 MS JVM 3810 后,它们在 Windows XP 上的 Internet Explorer 8 中运行良好。我知道不建议使用这个旧的 JVM,但将程序移植到较新的 Java 中并不是一个短期选择,因为它包含第三方组件。完全重写是一个长期计划。
奇怪的是jview
,appletviewer
(jview /a
)可以从控制台运行,因此 MS JVM 3810 并未完全崩溃,只是 IE 8 不喜欢它。appletviewer 的问题在于,即使 Java 自定义设置中的签名和未签名内容都已设置为全部启用,它也无法连接到服务器。(由于 Java 自定义设置因崩溃而无法访问,因此修改(包括我的电脑)是通过注册表执行的,并且已预先检查在 Windows XP 和 Internet Explorer 8 上正常运行。)如果 jview 正常工作,那么我至少可以想出一个解决方法。
有没有办法在 Windows 7 上正确配置 MS JVM 或 jview?
另一个选择是:
- 检查 Internet Explorer 9 Beta。
- 在其中使用 virtualbox 和 Windows XP 旧版 IE。
- 延迟 Windows 7 升级。
- ...
更新
最后,我们修改了所有程序,使其可以作为小程序和应用程序并行运行。
这样,在旧版 Windows 上,程序仍可通过浏览器使用。在 Windows 7 上,应用程序从桌面启动。由于用户机器已经有一个大型通用应用程序驱动器,因此可以轻松解决在所有用户机器上安装的问题。幸运的是,代码更新只需修改几行:在小程序类中包含一个主方法。此外,在启动 jview 之前,使用 bat 文件来设置类路径,而不是使用起始 html 页面。
答案1
我认为最新的 Oracle JVM 将运行 Java 1.1 字节码,这是错的吗?
您尝试过这个吗?您遇到了什么错误?
该应用程序或库是否依赖于 MS 扩展?
A微软论坛提出了一些解决方法。
如果您无法修复在 Windows 7 下运行不受支持且过时的 MSJVM 时出现的问题,那么运行该应用程序的唯一方法是在较旧的 Windows 操作系统下运行,也许是在 Windows-7 下的虚拟 PC 中运行。
微软有一个MSJVM 转换指南其中包括 MSJVM 诊断工具和将 J++ 转换为 C# 的工具。
我认为你无法轻易克服微软放弃对 MSJVM 的支持这一根本问题。
答案2
JVM 3810 只是对早期版本的升级。您需要安装一些早期版本(例如 JVM 3805),然后在其基础上安装 3810。
答案3
您可以在 Windows 7 和 IE8/IE7 上通过禁用 DEP 使用 JVM。只需在提升的命令提示符中输入以下内容:
bcdedit.exe /set {current} nx AlwaysOff
并重新启动计算机,然后在“Internet 选项”中启用 JVM 设置。
必须以管理员身份打开 cmd.exe 后在命令行中执行该语句,方法是右键单击 Windows\System32 中的 cmd.exe 并选择“以管理员身份运行”。
它有效,我正在使用它,但是在 IE9 + Windows 7 上找不到相同的解决方案。