我正在使用Ant来编译Java。项目必须使用JDK 1.5进行编译,但是代码的某些部分引用了使用JDK 1.6版本编译的包。 我将JAVA_HOME设置为1.5,在此引用处抛出错误
[javac]类文件有错误的版本50.0,应该是49.0
没有将参考版本降级为1.5
的方法是什么答案 0 :(得分:4)
你问的是不可能的。您应该使用JDK 1.5编译库。
答案 1 :(得分:1)
在某个版本上编译Java之后,就无法在旧版本的Java上使用该版本。
您正在使用的软件包可能有适用于旧版Java的版本,或者您可以获取源代码并使用旧版本重新编译(如果它不使用任何Java 6库) / features)。
答案 2 :(得分:0)
这样想:
您使用的库已使用JDK 6编译。它可能正在使用Java 6中引入的一些功能(不是以前版本的Java的一部分)
当您使用JDK 5进行编译和运行时,如果遇到这个“新”功能,您希望编译器(和运行时)做什么? JDK 5不知道这个功能,并且会“混淆”
为了避免在运行时出现这种混淆,编译本身就失败了。
您有两种选择:
如果您的项目使用的是JDK 6并且库是使用JDK 5编译的,那么由于向后兼容性,您不会遇到此问题。