java.lang.UnsupportedClassVersionError
当我运行Java程序时,我收到了这个错误。请您建议我们为什么会出现此错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | Exception in thread"main" java.lang.UnsupportedClassVersionError: GenerateInvoice (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at java.net.URLClassLoader.defineClass(URLClassLoader.java:251) at java.net.URLClassLoader.access$100(URLClassLoader.java:55) at java.net.URLClassLoader$1.run(URLClassLoader.java:194) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:187) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) |
这个类是用比用于执行的JDK更新的JDK编译的。
最简单的方法是在执行程序的计算机上安装一个更新的JRE。如果您认为最近安装了一个,请检查java_home和path环境变量。
版本49是Java 1.5。这意味着该类是用(或为)一个旧的JDK编译的。您可能试图用JDK1.4执行类。您确实应该使用一个最近的版本(1.6或1.7,参见Java版本历史)。
另一个选项是删除所有类并重新生成。构建文件是控制编译、打包和部署等整个过程的理想解决方案。还可以指定源/目标版本
该代码最有可能是用较新的JDK编译的(不使用交叉编译选项),并且正在较早的JRE上运行。虽然升级JRE是一种解决方案,但最好使用交叉编译选项,以确保代码可以在任何JRE作为应用程序最低版本的情况下运行。
这是一台全新的Linux Mint XFCE机器
我已经为此斗争了大约一个星期了。我正在尝试在NETBeabide IDE上学习Java,因此我自然而然地从Oracle直接获得了组合文件。它是JDK和NetBeans IDE的一个包,位于这里的tar文件中。
位于http://www.oracle.com/technetwork/java/javase/downloads/index.html文件名带NetBeans 8.0.1的JDK 8U25
在安装了它们之后(或者我想是这样),我会制作/编译一个像"hello world"这样的简单程序,然后输出一个JAR文件,您就可以在终端上运行了。请记住,该程序在NetBeans IDE中运行。
最后出现以下错误:java.lang.UnsupportedClassVersionError:
尽管我从Oracle网站运行了文件,但我仍然拥有Java运行时的旧版本,这与运行新Java运行时编译的JAR文件不兼容。
在处理了我头脑中从设置路径到编辑的大部分事情之后,bashrc没有任何补救措施。
我遇到了一个对我来说足够简单的解决方案。我遇到了一些自动安装Java并在您的系统上配置Java的工具,它与最新的1.8。
其中一个步骤是添加一个最初并不确定这一点的购电协议,但似乎还可以,因为它对我有效。
SUDO APT存储库PPA:WebUPD8Seope/Java
更新源
sudo apt get安装oracle-java8-installer
多米尼克@ DOMENIC-AO532 H~$JAVA版Java版本"1.8 025"Java(TM)SE运行时环境(构建1.8 025-B17)Java热点(TM)服务器VM(构建25.25-B02,混合模式)
我认为它也配置浏览器Java。
我希望这能帮助别人。