在使用JDK 1.6编译的Java代码中,是否有选项可以构建为在JRE 1.5上运行的代码?
附注:我是Java的新手。
在使用JDK 1.6编译的Java代码中,是否有选项可以构建为在JRE 1.5上运行的代码?
附注:我是Java的新手。
javac -target 1.5
更多详细信息请查看此处。
是的,你可以。请查看http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html并查找“交叉编译选项”部分。简而言之,您需要在javac中指定-target=1.5。当然,Ant也支持此标志。
请看javac的“-source”和“-target”选项:
http://java.sun.com/javase/6/docs/technotes/tools/windows/javac.html
-source release
指定所接受的源代码版本。允许使用以下值:
- 1.3 编译器不支持断言、泛型或其他在JDK 1.3之后引入的语言特性。
- 1.4 编译器接受包含断言的代码,这是在JDK 1.4中引入的。
- 1.5 编译器接受包含泛型和其他在JDK 5中引入的语言特性的代码。
- 5 与1.5同义。
- 1.6 这是默认值。在Java SE 6中没有引入语言更改。但是,现在会将源文件中的编码错误报告为错误,而不是警告。
- 6 与1.6同义。
+
-target version
生成针对指定版本虚拟机的类文件。类文件可以在指定版本及以后的虚拟机上运行,但不能在更早的虚拟机上运行。有效的目标版本为1.1、1.2、1.3、1.4、1.5(也可以写作5)和1.6(也可以写作6)。
-target的默认值取决于-source的值: - 如果没有指定-source,则-target的值为1.6
- 如果-source是1.2,则-target的值为1.4
- 如果-source是1.3,则-target的值为1.4
- 对于-source的所有其他值,-target的值都等于-source的值。