我刚刚从旧硬盘中恢复了一些程序,所以我尝试编译并运行它,并在命令提示符下出现此错误:
不受支持的major.minor版本52.0
我用Java 8编译了程序,然后用Java 8运行它。我唯一能想到的是我在旧计算机上使用Java 7和程序。此外,我在这台新电脑上使用Windows XP,而我在旧电脑上使用Windows 7。
我正在使用两个库,但我不认为这是问题,因为该程序在NetBeans中运行良好。
关于问题是什么的任何想法?
答案 0 :(得分:1)
根据您对archetype的回答的评论,我的猜测是java 7位于您的一个Windows目录中,例如C:\ Windows \ System32,并且该目录位于路径中的JAVA_HOME目录之前。尝试在CMD上键入“where java”。如果它位于多个目录中,请查看PATH变量中哪一个首先出现,并查看该目录中的java版本。
答案 1 :(得分:0)
问题的根本原因是,代码是在更高版本中编译的,但默认运行时在较低版本上运行。您只需检查当前版本即可完成此操作。 java -version
和javac -version
。您可能需要从Control Panel
检查Java。要验证JAR
文件的实际版本,您可能需要提取实际版本并查找版本信息
javap -verbose <Java_Class_Name> | findstr "major"