java-为什么蚂蚁给我一个不受支持的major.minor版本
我正在Ant中运行此目标。
description="compile the source " >
这给了我这个错误。
C:\Users\..\workspace\..\build.xml:21: java.lang.UnsupportedClassVersionError:
com/sun/tools/javac/Main : Unsupported major.minor version 51.0
这些是版本:
Apache Ant(TM) version 1.8.2
JDK version is JDK 1.7.0
这是我在Eclipse中的Compiler设置。
请帮我解决。
coder asked 2020-07-29T00:42:33Z
12个解决方案
35 votes
检查编译期间使用的tools.jar是否符合JRE设置。 如果您在日食,请验证以下版本:
转到窗口->首选项
-通过在左窗格中的Ant下选择“运行时”来检查Ant Runtime。 检查“类路径”选项卡下的“全局条目”。 您可以在文件夹路径中查看版本。
-在左窗格中,检查Java下已安装的JRE。 检查版本。
当我选择的JRE为1.6.0_24并且Ant运行时中的tools.jar来自jdk 1.7时,我也遇到了同样的问题如果它们都来自不同的版本1.6 / 1.7,请通过更正它们的路径来更正它们。通常,可以在:C:\ Program Files \ Java \ jdk1.x.x \ lib下找到tools.jar。 同样,如果需要,可将JRE指向C:\ Program Files \ Java \ jdk1.x.x \
abksrv answered 2020-07-29T00:43:00Z
27 votes
在构建配置窗口中,将运行时jre设置为jre 6而不是jre 7。
coder answered 2020-07-29T00:43:20Z
16 votes
检查是否在路径“ C:\ Program Files \ Java”中安装了jdk。如果没有,请在计算机中安装JDK。
在Eclipse中,右键单击“ build.xml”,然后选择“运行方式”>“外部工具配置”
单击“ JRE”选项卡,然后单击“已安装的JRE”>“ ADD”>“标准VM”>单击“下一步”
选择目录“ C:\ Program Files \ Java \ jdk1.7.x_xx”,该目录将添加到“已安装的jres”中
选择新的JDK目录,然后单击“确定”
单击“单独的JRE”下拉列表,然后选择JDK版本“ jdk1.7.x_xx”,然后单击“运行”
这会有所帮助:)
SuperSaiyan answered 2020-07-29T00:44:07Z
9 votes
您需要说说Ant的哪个版本和JVM的哪个版本。
您可以运行ant -v以按照文档查看Ant使用的设置
Ant 1.8 *需要JDK 1.4或更高版本。
“不受支持的major.minor版本51.0”表示已在某处为JDK版本编译了代码,并且您正在尝试在旧版本的JDK下运行这些类。 (看这里)
Nicolas Modrzyk answered 2020-07-29T00:44:40Z
4 votes
原因之一可能是在Ant构建选项中选择了错误的JRE。 右键单击build.xml并选择“运行方式...”,然后选择“蚂蚁建筑...”后,请确保在配置选项对话框的“ JRE”选项卡下选择了正确的JRE。 您将看到一个“单独的JRE”选项; 在单击“运行”之前,请确保从下拉列表中选择了适当的jdk。
THX1137 answered 2020-07-29T00:45:00Z
2 votes
将JRE的JDK版本下载到已安装的JRE,然后使用该版本。
在Eclipse Indigo中,如果在运行配置中检查ant的classpath选项卡,则会看到它默认是从系统添加tools.jar。 因此,如果您使用Java7启动Eclipse并使用单独的JRE6运行ant构建,则会生成UnsupportedClassVersionError。 当我添加JDK版本时,Eclipse从JDK中选择了tools.jar,我的ant任务成功运行了。
Aberdeen61 answered 2020-07-29T00:45:25Z
2 votes
我遇到了同样的问题。 然后进入Run as-> Ant build ...-> jre。我发现使用的jre是单独的JRE,这是默认的Eclipse JRE(1.6)。然后我去找->已安装的JRE。并将默认Eclipse JRE的位置更改为我的jdk(1.7)。
问题已解决。
user3864221 answered 2020-07-29T00:45:50Z
1 votes
我想在这里添加我的结果以帮助其他人,尽管相关,但是这些都没有解决我的问题。
从Weblogic 9.2研讨会到使用JDK6的Helios,我遇到了独特的情况。 但是,我们的安全专家将我们推向了JDK7,这迫使我动手去了Indigo。
最后,我使用sysinternals进程浏览器来查找当前是否仍在使用JDK6文件夹的任何文件,该文件夹仍然存在于系统中。 果然是Eclipse。 我打开eclipse.ini,第二行引用了JDK6,将其替换为JDK7目录,启动了Eclipse,构建成功。
user2275184 answered 2020-07-29T00:46:19Z
0 votes
如果由于有意尝试构建到Java 6而收到此错误,但在Eclipse的其他位置有Java 7,则可能是因为您在Java 6环境中引用了Java 7 tools.jar。
您需要安装JDK 6(而非JRE),并将JRE 6 tools.jar作为用户条目添加到构建配置的类路径中,在JRE 7 tools.jar上方列出。
jevon answered 2020-07-29T00:46:44Z
0 votes
就我而言,该项目是一个Maven,我拥有JDK 1.8.0,Eclipse:Kepler,并且从Eclipse Marketplace安装了M2Eclipse插件。
更改编译器级别没有帮助。
最后,我使用了最新版本的eclipse(Luna),编译器级别1.7,相同的M2Eclipse插件,并解决了问题。
Itack answered 2020-07-29T00:47:13Z
0 votes
转到运行选项--->选择外部工具选项---->外部工具配置--->选择ant build ---->选择build.xml --->您将找到JDK选项--->选择所需的JRE。
ritesh singh bhadouria answered 2020-07-29T00:47:33Z
0 votes
只需通过转到ant build configuration并将jre更改为jdk来检查您的运行时(如果jdk 1.7则jre应该为1.7)。
在此处输入图片说明
Venkatesh Kancheti answered 2020-07-29T00:47:57Z