Ant使用的Java版本低于系统的Java版本
这种行为让我很奇怪。 以下是发生的事情:
- 我们有一个Ant的build.xml文件,它说
。
- 我们已将系统(Linux)上的Java更新为1.6,但我们忘记更新Ant build.xml文件。
- ant建设正在成功发生,它是如何发生的? 是不是更高版本的Java可以降级到更低版本? 或者如果Ant找不到指定的Java版本,它会使用默认版本吗?
在这种情况下升级JDK不会有任何问题
意味着它告诉Java编译器源是使用Java 1.5编写的,它应该创建适合Java SE 1.5环境的目标构建。这对于较新的JDK来说确实是可能的。这与以下内容完全相同:
javac -source 1.5 -target 1.5
请参阅javac工具的文档
希望这可以帮助
这些选项将传递给Java编译器。 它可以为较旧的JVM(目标)生成字节代码,并且还可以接受为较旧的Java版本(源)编写的源代码。 例如,当新的Java版本引入新的关键字但您在源中使用该词作为标识符时,这就是有意义的。
它将生成JDK 1.5的字节代码而不是JDK 1.6,因为Java支持向后兼容性,因此JDK 1.5的字节代码可以在JDK 1.6 JRE上轻松运行。