I have a project that uses generics and a few Java 1.5/6 bits and pieces. Is it possible to compile this code to work on a system running a 1.4 JRE?
I use an ANT build script and javac task to compile the library. This builds fine while the target attribute is 1.5.
If I change the target to be 1.4 I get the following error:
generics are not supported in -source 1.4
(use -source 5 or higher to enable generics)
So I add a source attribute and try a value of 5 and 1.5. New error:
javac: source release 5 requires target release 1.5
Am I going to have to go through all my code and change the 1.5 stuff to make this work?
If you need to compile Java to run on an older Java platforms, the simplest approach is to install a JDK for the oldest version you need to support, and use that JDK's compiler in your builds. You can also compile with a newer Java compiler, but there are complicated.
Open a command prompt window and go to the directory where you saved the java program. Assume it's C:\. Type 'javac MyFirstJavaProgram. java' and press enter to compile your code.
javac - Java programming language compiler.
-Xlint:cast This option can be used to have the compiler warn the developer that a redundant cast is being made. Here is a code snippet that would get flagged if -Xlint, -Xlint:all, or -Xlint:cast was provided to javac when compiling the source.
I've not used either of these solutions, but there is
-target jsr14
may workYou might also find javac -XD-printflat
useful (though take care not to overwrite your original source).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With