我试图在服务器上执行jar,如:java -jar file.jar,但我得到了以下错误:
A JNI error has occurred, please check your installation and try again
...
Class has been compiled by a more recent version of the Java Environment (class file version 55.0),
this version of the Java Runtime only recognizes class file versions up to 52.0.我理解这似乎与我的jar文件使用Java 11有关,而服务器只安装了Java 8。我不能像人们在其他文章中建议的那样安装Java 11来处理这个问题,因为我是在一个我不是超级用户的服务器上执行的。我还想避免用Java 8重新编程我的整个项目。
有没有办法让我执行我的jar文件?
发布于 2021-06-11 14:49:54
如评论所述,存在多种解决方案。我发现最简单的两个解决方案如下:
jdk-11.0.11_linux-x64_bin.bin.java -jar file.jar
jdk-11.0.11_linux-x64_bin.tar.gz,该下载jdk-11.0.11_linux-x64_bin.tar.gz可以复制到服务器上,使用tar xvzf jdk-11.0.11_linux-x64_bin.tar.gz解压缩到服务器上,然后使用最后,我要求超级用户安装Java 11,他们告诉我,Java 11已经安装在someFolder/java11/bin/java上了,所以我最终使用了someFolder/java11/bin/java -jar file.jar
发布于 2021-06-09 14:24:53
如果您能够访问file.jar的源代码,您可以尝试从它为java 8创建一个jar。如果它失败了,那么会使用一些更新的特性。您可以遍历代码并手动降低它的级别。
另一种选择是随软件一起提供java的本地安装(不需要超级用户权限)。
https://stackoverflow.com/questions/67900260
复制相似问题