在Ubuntu上创建的Java的.class文件在Windows的cmd中无法运行?
在Ubuntu上创建的Java的.class文件在Windows的cmd中无法运行?
我在Windows中输入了一小段代码并编译后产生了一个.class文件,这个文件应该是可处理的,也就是说在每个操作系统中解释后应该显示输出结果。我在Ubuntu的终端中尝试过,工作正常。但是同样的代码在Ubuntu中编译并产生了一个.class文件,但在Windows的命令提示符中无法处理,也就是说命令提示符没有显示输出结果,而是显示了以下错误信息:\n
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)
\n其中\"UbuntuCode\"是我的文件名。我已经在互联网上搜索过,但只找到了关于安装jre、jvm、jdk或版本不匹配的信息。背后的原因是什么,如何解决。提前感谢。希望得到帮助。
问题的出现原因是Java版本不匹配。当您尝试在低版本的JRE中运行使用Java 1.8编译器编译的类时,会出现Unsupported major.minor version 52.0错误。您可以检查Windows和Ubuntu上使用的Java版本,并发布java -version输出的结果。
解决方法可以参考以下链接中的更多详细信息:http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html#ixzz4AVD4Evgv
在Ubuntu上创建的Java的.class文件在Windows的命令提示符(cmd)中无法正常运行,可能是由于以下原因:
1. 您没有正确的JDK版本来运行您的类。您需要JRE 8版本,对应的版本号为52。
要解决这个问题,您需要在Windows上安装JRE 8。您可以从Oracle官方网站下载并安装适用于Windows的JRE 8。
另外,您也可以通过以下方法检查在Ubuntu上安装的JRE版本:
1. 打开终端。
2. 输入以下命令查询已安装的Java版本:
java -version
3. 终端会显示安装的Java版本信息,包括JRE版本号。例如:
java version "1.8.0_291" Java(TM) SE Runtime Environment (build 1.8.0_291-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
从上述信息中,可以看到安装的Java版本是1.8.0_291,对应的JRE版本为8。
总结起来,要解决在Windows的命令提示符(cmd)中无法运行在Ubuntu上创建的Java的.class文件的问题,您需要在Windows上安装JRE 8,并确保Ubuntu上安装的Java版本也是JRE 8。