1

I'm compiling many legacy Java code probably written with Java1.3 and I got tons of errors like this:

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();

It's too time consuming to replace each instance of enum with _enum so I added source="1.3" in ant javac task as below (based on examples from http://ant.apache.org/manual/Tasks/javac.html). But I still got the same compile error. I've tried to change source = 1.4,1.5, and still same error.

<javac srcdir="${src.dir}"

destdir="${build.classes}"

debug="true" debuglevel="lines,vars,source"

source="1.3"

deprecation="off"

optimize="on"> 

What is the right way to tell comiler that the source is written in 1.3, but I want to compile it to run in 1.6? I'm using jdk1.6.0.26 and ant 1.8.2

Matt Ball
  • 354,903
  • 100
  • 647
  • 710
Andy Liu
  • 11
  • 2

1 Answers1

2

That's a warning, not an error. Unless there are other errors in the build that should work just fine.

Chris Thompson
  • 35,167
  • 12
  • 80
  • 109