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

时间:2011-08-15 23:06:42

标签: java ant build compilation

我安装了许多版本的JDK:1.4.2, 1.5 and 1.6。 如何使用Ant编译时指定使用哪个版本的JDK?

3 个答案:

答案 0 :(得分:5)

两种解决方案:

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

另请注意:

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

答案 1 :(得分: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

答案 2 :(得分:1)

使用Ant <javac> task <source>和/或<target>属性。有效值可以是1.1到1.7,包含5,6和7个有效别名,分别为1.5,1.6和1.7。此外,<executable>属性可用于设置使用的java javac编译器。例如:

<javac source="1.4" target="1.4" executable="c:\java1.6\bin\javac.exe"/>