是否可以将 Windows 上的 JVM 配置为不加载 msvcr100.dll?

Is it possible to configure a JVM on Windows to not load msvcr100.dll?

在 Java 1.6 之后,

msvcr100.dll(Visual C++ 运行时)似乎已成为 Windows 上 Java 运行时的一部分,我在想如果 Java 运行 on Windows 这么多年没用了,怎么到现在还得忍,要不我配置不出来吧

我有一个程序偶尔会发生 msvcr100.dll 的神秘崩溃。我注意到我可以在 Java 程序启动后重命名 msvcr100.dll(因此未加载 dll),但是当我调用 Runtime.exec 生成 Windows 程序时,丢失的 DLL 又是 "noticed",并给出消息 "The specified module could not be found. Java Runtime Environment not valid."

在 Java 的早期版本中,不需要这个 dll,所以我的问题是:有没有办法告诉 JVM 我们不想使用 msvcr100.dll?

不,这是不可能的。 Oracle 的 Java 运行时是用 C 编写的,并使用 Visual Studio 2010 构建,因此它需要 Visual Studio 2010 C 运行时库,msvcr100.dll.

Java 6 使用了 Visual Studio 6 运行库,msvcrt.dll,而不是。

运行时间不可互换。为一个运行时构建的应用程序不能使用不同的运行时。无论如何,运行时不太可能是问题的根源。