我正在编译许多可能用 Java1.3 编写的遗留 Java 代码,我遇到了很多这样的错误:
Copydir.java:128: warning: as of release 5, 'enum' is a keyword, and may not be used as an identifier
[javac] (use -source 5 or higher to use 'enum' as a keyword)
[javac] Enumeration enum = filecopyList.keys();
用 _enum 替换每个枚举实例太耗时,所以我在 ant javac 任务中添加了 source="1.3" ,如下所示(基于http://ant.apache.org/manual/Tasks/javac.html的示例)。但是我仍然遇到相同的编译错误。我试图改变 source = 1.4,1.5,但仍然是同样的错误。
<javac srcdir="${src.dir}"
destdir="${build.classes}"
debug="true" debuglevel="lines,vars,source"
source="1.3"
deprecation="off"
optimize="on">
告诉编译器源是用 1.3 编写的,但我想编译它以在 1.6 中运行的正确方法是什么?我正在使用 jdk1.6.0.26 和 ant 1.8.2