就在2-4小时前,我在笔记本电脑上收到了java的更新。我安装了它。
我现在正在开发一个java应用程序一个月。我把这个应用程序上传到heroku服务器上。
在java更新之前,(2-3天前)一切都很好。但是现在当我上传这个应用程序并在heroku上运行它时,它会得到以下错误:-
Exception in thread "main" java.lang.UnsupportedClassVersionError: MainClass has been compiled by a more recent version of the Java Runtime (class file version 58.0), this version of the Java Runtime only recognizes class file versions up to 52.0
2021-01-23T21:29:31.889016+00:00 app[worker.1]: at java.lang.ClassLoader.defineClass1(Native Method)
2021-01-23T21:29:31.889087+00:00 app[worker.1]: at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
2021-01-23T21:29:31.889208+00:00 app[worker.1]: at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
2021-01-23T21:29:31.889278+00:00 app[worker.1]: at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
2021-01-23T21:29:31.889361+00:00 app[worker.1]: at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
2021-01-23T21:29:31.889464+00:00 app[worker.1]: at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
2021-01-23T21:29:31.889589+00:00 app[worker.1]: at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
2021-01-23T21:29:31.889665+00:00 app[worker.1]: at java.security.AccessController.doPrivileged(Native Method)
2021-01-23T21:29:31.889746+00:00 app[worker.1]: at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
2021-01-23T21:29:31.889852+00:00 app[worker.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
2021-01-23T21:29:31.889922+00:00 app[worker.1]: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
2021-01-23T21:29:31.890074+00:00 app[worker.1]: at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
2021-01-23T21:29:31.890142+00:00 app[worker.1]: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)我正在使用IntelliJ的想法。
每次,我选择默认设置,默认情况下,Idea会收集我拥有的所有最新文件。
我认为问题是因为我现在需要使用更低版本的Java编译代码?谁能告诉我怎么解决这个问题吗?

发布于 2021-01-23 21:57:59
你看不到两个“版本系列”。您看到的只是他们命名Java版本的方式发生了变化。Java 8实际上与Java1.8相同。
Heroku支架 Java 7、8、11、13和15。由于您使用的是Java 14,所以您正在针对Heroku不支持的版本进行编译。重新安装Heroku实际上支持的任何版本的Java,您应该会很好。
https://stackoverflow.com/questions/65864771
复制相似问题