1

我有一个在 jdk7 上编写的 java 源代码。并在我的机器上安装 jdk7 和 jre7。

现在我需要使用 ANT 用编译器 jdk1.6 编译这段代码。

所以我尝试在我的项目 build.xml 中添加以下几行。

<target name="compile">
<javac target="1.6" srcdir="src"/>
</target>

这够了吗 ?还是我必须添加引导类路径?如果是,请指定我可以在构建文件中添加的语法

4

1 回答 1

3

那可能还不够。

首先,除了设置target1.6,您还应该设置source1.6

<javac source="1.6" target="1.6" srcdir="src">

让 Java 编译器知道它应该将您的代码解释为与 1.6 兼容的源代码。

但更大的问题是,这并不妨碍您使用 Java 7 标准库中新增的类、接口和方法。如果您使用仅限 Java 7 的类、接口或方法,它会编译,但您会遇到错误,例如NoSuchMethodError在 Java 6 上运行它并调用 Java 6 中不存在的方法。

确保您的代码与 Java 6 兼容的最安全方法是安装 JDK 6 并使用它来编译您的代码。(注意:在您的机器上安装多个版本的 JDK 没有问题,只需将它们安装在不同的目录中)。

于 2013-09-12T07:02:28.400 回答