使用新版本的运行时(8.x)的旧版Java.exe(7.1)的含义

anj*_*anb 9 java incompatibility

我们的应用程序嵌入了JRE.该应用程序错误地附带了一个mashup(7.x版本的java.exe和8.x版本的其余JRE).

我可以确认运行v.1.7 java.exe的进程使用Process Explorer使用v.1.8 java运行时.我很惊讶运行时或二进制文件没有检测到异常并放弃JVM创建!

同样的含义是什么?安全问题 ?稳定性问题?我没有浏览java.exe的源代码.从我对java.exe二进制文件的初步调查,我可以看出它不仅仅是一个存根.除了USER32.dll,ADVAPI32.dll,COMCTL32.dll之外,它还调用了100种不同的KERNEL32.DLL API.

当然,我们可以(而且我们会)解决这个错误.但对于使用上述异常的几种当前生产系统是否有影响?如果是的话,他们是什么?

apa*_*gin 1

java.exe一个简单的启动器。它不包含 JVM 或类库代码​​。它的主要功能只是定位 JRE 并加载jvm.dll命令行中传递的参数。

即使没有java.exe.​

java.c日志显示 JDK 7 和 JDK 8 之间的启动器实际上并没有太大变化。例如,启动器支持 JavaFX 应用程序,并进行了一些修复以更好地验证参数。就是这样。因此,如果您的应用程序可以使用 JDK 7 启动器正常启动,那么显然没有什么可担心的。