JNI错误,请检查您的安装(运行JAR文件)

时间:2019-03-15 11:38:12

标签: java jar java-native-interface

这不是重复的!因此,我创建了一个jar文件,并带有指示主类的清单。但是当我尝试使用

运行它时
  

java -jar app.jar

它在我的CMD中打印: “错误:发生了JNI错误,请检查您的安装,然后重试。 线程“主要” java.lang.UnsupportedClassVersionError中的异常:Food已由Java运行时的最新版本(55)编译,此版本的Java运行时可识别的版本最高为52“

奇怪的是,我可以在CMD中编译并运行Java和类程序。但是无法运行JAR文件。

我有jdk1.8.0_201和jre1.8.0_201。我几乎可以肯定这是最新的。 Atleast jre是因为当我打开“配置Java”程序并转到“更新”选项卡并单击“立即更新”时,它说:“您已经在该系统上拥有最新的Java平台。我是否应该保持jre和jdk的版本相同?

我还想澄清一下这些jre和jdk的编号。首先,在我的环境变量中,我所拥有的只是jdk 1.8和jre 1.8,就像上面一样,那么我怎么能告诉我我有一个更新的版本?

因此,根据这篇文章,How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

如果我有52版本,即Java SE 8.0,为什么在安装jdk时显示1.8.0_201而不是8.0? Tha是一个相同的问题,为什么Microsoft跳过Microsoft 9 ...

是的,我有Java 11(55),但环境变量中也没有。

我搜索了Java SE 9,10,11,12和13,它们甚至不存在。我看不到这个JRE。真是令人困惑。

另外,当我尝试编译程序时(它具有HashMap,但我在末尾澄清了类型),它说

  

Food.java uses unchecked or unsafe operations   Note: Recompile with -Xlint:unchecked for details   https://pastebin.com/Vw2UerDG

我认为问题是put()方法,但是对我来说,什么操作不安全是没有意义的。好像不是... 谢谢

0 个答案:

没有答案