我安装了许多版本的JDK:1.4.2, 1.5 and 1.6
。
如何使用Ant编译时指定使用哪个版本的JDK?
答案 0 :(得分:5)
两种解决方案:
/opt/java/jdk16/bin/javac ...
-source
和-target
参数。这允许您指定源代码级别和目标JRE版本另请注意:
-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"/>