许多版本的JDK:我该如何指定使用哪个版本?

3

我安装了许多 JDK 版本:1.4.2、1.5 和 1.6。当使用 Ant 进行编译时,我该如何指定使用哪个 JDK 版本?

3个回答

5

两种解决方案:

  • 在命令中指定完整路径: 例如在Linux上使用/opt/java/jdk16/bin/javac ...
  • 使用javac命令的-source-target参数。这允许您指定源代码级别和目标JRE版本。

还要注意:

  • 某些Linux发行版可以包括工具来指定默认使用哪个JDK版本。
  • 使用-source-target检查您的语言结构是否符合目标运行时,但不检查核心类是否兼容。这意味着即使您使用了Java 6中出现的String.isEmpty(),在JDK 1.6上使用-source 1.4编译也没有问题。这可能会导致运行时错误。

1
javac -source 1.4 -target 1.4 YourFile.java

-源代码版本 指定所接受的源代码版本。允许使用以下发行版: 1.3 编译器不支持断言、泛型或其他在JDK 1.3之后引入的语言特性。 1.4 编译器接受包含断言的代码,这些断言是在JDK 1.4中引入的。 1.5 编译器接受包含在JDK 5中引入的泛型和其他语言特性的代码。如果未使用-source标志,则编译器默认为版本5行为。 5 等同于1.5
相关文档请参见。

http://download.oracle.com/javase/1,5.0/docs/tooldocs/windows/javac.html


1
使用Ant <javac>任务<source>和/或<target>属性。有效值可以从1.1到1.7,其中1.5、1.6和1.7有5、6和7个有效别名。此外,<executable>属性可用于设置使用哪个Java javac编译器。例如:
<javac source="1.4" target="1.4" executable="c:\java1.6\bin\javac.exe"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接