繁体   English   中英

如何绕过 JNI 错误(Java vile version error)文件已被更新版本的 java 运行时编译

[英]How to bypass JNI error (Java vile version error) file has been compiled by more recent version of the java runtime

我正在尝试运行已在 55.0 版上编译的程序,但我的编译器只接受高达 52.0 的版本。 我不确定这些信息是否有用,但该程序是使用 Visual Studio 编写的。 我有;

  1. 卸载旧版本的java。
  2. 重新安装新版本的java。
  3. 编辑了 JAVA_HOME 位置。 (可能是一个不正确的位置,所以我包括一个截图)。

似乎仍然没有解决问题。 我以前遇到过这个问题,看到了一些描述的绕过命令,它允许我的程序运行但愚蠢地忘记记录它。 完全解决问题的替代解决方案非常受欢迎:)。 JAVA_HOME 位置

我正在使用的命令和完整的错误代码

简短的回答是你不能。

如果您想运行该程序,您有两个选择:

  1. 在您的机器上安装较新版本的 Java。 该程序的字节码版本号为 55,这意味着您需要安装 Java 11 或更高版本。

  2. 获取应用程序的源代码(如有必要,还有其依赖库)并为 Java 8 平台(版本 52)构建它。

    如果您不是 Java 程序员,这可能会很困难。 如果您无法获得该程序的源代码,则(实际上)是不可能的。


请注意,一台机器上可以安装多个版本的 Java。 一旦安装了正确的 Java 版本,就可以选择要使用的版本。 最简单的方法是使用java命令的完整路径; 例如

> C:\Program Files\Java\jdk...\bin\java 

或者,在命令外壳本身或通过 Windows 设置修改 PATH 变量。 (我假设理解或可以找出 Windows 环境变量,特别是 PATH 是如何工作的。)


查看命令提示符的屏幕截图,在尝试编译和/或运行某些内容时,您似乎也位于错误的目录中。 了解在编译和运行 Java 代码时类路径是如何工作的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM