当我在Windows中键入一个小代码并编译它时生成的.class文件,这应该是可处理的,即它应该在每个操作系统中解释之后显示输出,并且它在Ubuntu的终端中运行良好(因为我尝试过)它在Ubuntu)。但是在Ubuntu和.class文件中编译时生成的相同代码在Windows中的cmd中无法处理,即Windows中的cmd没有显示输出而是显示此错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: UbuntuCode : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:638)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:143)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:281)
at java.net.URLClassLoader.access$000(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:216)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:209)
at java.lang.ClassLoader.loadClass(ClassLoader.java:324)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:269)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:337)
其中" UbuntuCode"是我的文件名。我已经在互联网上搜索了它,但发现只安装了jre,jvm,jdk或版本不匹配等等。这背后的原因是什么以及如何解决它。提前致谢。将不胜感激。
修改: - 我在Ubuntu上安装了默认的jdk,在Windows上安装了jdk1.7.0
答案 0 :(得分:1)
您没有正确的jdk版本来运行您的课程。 你需要一个JRE 8。
答案 1 :(得分:0)
从错误中,问题肯定与Java版本不匹配有关。当您尝试运行使用较低JRE版本的Java 1.8编译器编译的类时,会出现不支持的major.minor版本52.0。你能检查你在Windows和Ubuntu上使用的版本以及发布java -version输出吗?
您可以在http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html#ixzz4AVD4Evgv
了解更多详情