java 编译器版本_关于Java:JDK编译器版本问题

我正在使用Ant来编译Java。该项目必须使用JDK 1.5进行编译,但是部分代码引用了使用JDK 1.6版本编译的软件包。

我将JAVA_HOME设置为1.5,在此引用上抛出了错误

[javac]类文件的版本50.0错误,应为49.0

没有将参考版本降级到1.5的解决方法

您的要求是不可能的。您应该使用JDK 1.5编译您的库。

一旦以某个特定版本编译了Java,就不能在Java的较早版本上使用该版本。

您使用的软件包可能具有适用于Java较早版本的版本,或者您可以获取源代码并使用较旧版本重新编译(如果它不使用任何Java 6库/功能) 。

在NetBeans IDE上,没有问题也可以进行共存。 我需要这个来支持命令行

@Pushparaj同样,在NetBeans IDE上也没有问题,您是否确定NetBeans使用的是JDK 5?

这样想:

您使用的库已使用JDK 6进行了编译。它可能正在使用Java 6中引入的某些功能(这些功能不是Java早期版本的一部分)

当您使用JDK 5进行编译和运行时,遇到此"新"功能时,您希望编译器(和运行时)做什么? JDK 5不知道此功能,将被"混淆"

为了避免在运行时出现这种混乱,编译本身将失败。

您有两种选择:

使用JDK 6编译项目。

获取库的JDK 5编译版本

如果您的项目使用的是JDK 6,并且该库是使用JDK 5编译的,则由于向后兼容,您将不会遇到此问题。

更具体地说,代码仅使用JDK 1.6版本的jar.Java级别设置为1.5时,NetBeans会成功编译项目

@Pushparaj与NetBeans一起使用的编译器与与ant一起使用的编译器-它们是否相同?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值