繁体   English   中英

UnsupportedClassVersionError - 1.7 / 1.5

[英]UnsupportedClassVersionError - 1.7/1.5

我使用Netbeans创建了一个Java应用程序,JDK版本为1.7
现在如何在安装了JDK 1.5的其他机器上编译/运行相同的应用程序而不对代码进行任何更改?

当我尝试编译时,我得到一个错误,说JDK版本不匹配。

以下是错误:

java.lang.UnsupportedClassVersionError: MTPS : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: MTPS.  Program will exit.

从一个java版本到另一个版本的更改添加了不同的功能。 例如,自java 1.5以来添加了Enum功能,如果您尝试在1.4上编译它,则会出现错误。

顺便说一句尝试使用JDK 1.5编译您的应用程序,然后如果您成功尝试运行它。

您需要处理jdk 1.4到jdk1.6和jdk 1.6到jdk 7中的功能更改.Generic,Assertion是jdk1.5中的新实现.Switch case中的一些增强(带String)和异常处理是JDK7中的新增功能。

可以使用javac交叉编译选项为早期的JRE编译代码。 如果使用1.7 JDK并以JRE 1.5为目标,则应提供1.5版本的rt.jar作为引导类路径(有关详细信息,请参阅文档)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM