I’m using Ant to compile Java.The project has to be compiled using JDK 1.5 , however some part of the code references a package compiled with JDK 1.6 version.
I set the JAVA_HOME to 1.5 , error is thrown at this reference as
[javac] class file has wrong version 50.0, should be 49.0
What is the way out without downgrading the reference version to 1.5
Think this way:
The library you use has been compiled using JDK 6. It may be using some features introduced in Java 6 (that were not part of previous versions of Java)
When you use JDK 5 to compile and run, what do you expect the compiler (and the runtime) to do when this “new” feature is encountered? The JDK 5 does not know this feature and will be “confused”
To avoid this confusion at runtime, the compile itself fails.
You have two options:
If your project were using JDK 6 and the library was compiled with JDK 5, then you wouldn’t have faced this issue because of backwards compatibility.