Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java8中运行更新的代码,或者在MacOS10.12.6中为Eclipse更新Java?_Java_Eclipse_Macos - Fatal编程技术网

在Java8中运行更新的代码,或者在MacOS10.12.6中为Eclipse更新Java?

在Java8中运行更新的代码,或者在MacOS10.12.6中为Eclipse更新Java?,java,eclipse,macos,Java,Eclipse,Macos,我目前正在上一门课,要求我使用教授创建的代码,但我遇到了一个问题。每当我尝试运行使用教授代码的代码时,我都会收到以下消息: Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: cs/comsc331/ppm/PPM has been compiled by a

我目前正在上一门课,要求我使用教授创建的代码,但我遇到了一个问题。每当我尝试运行使用教授代码的代码时,我都会收到以下消息:

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: cs/comsc331/ppm/PPM has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0
我知道这是什么原因,因为它告诉我——我的Java需要更新。然而,当我开始这样做时,Eclipse和Java控制面板都告诉我,我已经准备好了最新的版本。我去寻找,在java.com上,它告诉我下载版本8更新241,我下载了,但没有改变。当我开始在网上寻找解决方案时,我看到一篇帖子,其中简要提到Eclipse不会在我的系统上运行比Java8更新的Java

我似乎陷入了僵局——我要么需要一种在不破坏设置的情况下更新Java的方法(我尝试下载比Java 8更新的版本,Eclipse不会启动),要么需要一种在旧系统上运行新代码的方法,可能是自己重新编译(我试过这样做一次,但我想不出来,所以如果这是最好的方法,我可以使用一些建议)。如果我必须自己重新编译代码,这没关系,因为没有大量的文件,但是方法越有效越好

更新到一个更新的操作系统不是一个选项(如果这会有帮助的话),因为当我过去尝试这样做时,我的笔记本电脑必须完全重置(关于它的一些东西是用来处理文件处理的新方式?我收到的解释不清楚)

在超短期内,我只是直接将代码复制到新文件中并自己编译,但我的教授希望我们在现有的软件包中工作,因此这是一个创可贴,而不是其他任何东西。长期而言,我需要一台可以完全更新的新笔记本电脑(我在2015年得到了目前的笔记本电脑)但我认为有一个更合理的解决方案


谢谢!

自己重新编译几乎肯定是最好的选择。请详细解释您尝试此操作时发生的情况。您需要重新编译教授提供的代码,或者需要升级到。您将无法在早期版本的Java中使用用Java 13编译的类。很抱歉,您遇到了麻烦e升级你的操作系统和你的环境,是时候了。你知道你的教授使用的是什么版本的Java吗?即Java 8、9、10、11、12或13?@Dalton
class file version 57.0
意味着Java 13。如果你不能升级到Java 13,你别无选择,只能重新编译这些类。但要注意,设计用于在Java 13上运行的代码可能会影响我们e Java SE类和方法,或Java 8上不存在的语言特性。如果是这样,它将不会编译。