首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java.lang.UnsupportedClassVersionError

java.lang.UnsupportedClassVersionError
EN

Stack Overflow用户
提问于 2012-10-08 00:26:10
回答 3查看 159.4K关注 0票数 53

当我运行一个java程序时,我收到这个错误..你能告诉我们为什么会出现这个错误吗:

代码语言:javascript
复制
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)
EN

回答 3

Stack Overflow用户

发布于 2012-10-08 00:26:55

这个类是用比用于执行的JDK更新的JDK编译的。

最简单的方法是在执行程序的计算机上安装更新的JRE。如果您认为您安装的是最近的版本,请检查JAVA_HOME和PATH环境变量。

版本49是Java1.5。这意味着类是使用(或用于) JDK编译的,但JDK还很旧。您可能尝试过使用JDK 1.4执行这个类。你真的应该使用更新的版本(1.6或1.7,参见java version history)。

票数 90
EN

Stack Overflow用户

发布于 2012-10-08 01:36:13

另一种选择是删除所有类并重新构建。有构建文件是一个理想的解决方案,以控制整个过程,如编译,打包和部署。您还可以指定源/目标版本

票数 4
EN

Stack Overflow用户

发布于 2012-10-08 00:30:37

代码很可能是用较新的JDK编译的(没有使用cross-compilation options),并且正在较早的JRE上运行。虽然升级JRE是一种解决方案,但最好使用交叉编译选项来确保代码可以在任何JRE上运行,而JRE是应用程序的最低版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12770622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档