This content has been marked as final. Show 3 replies
That depends on what Java 6 features you are trying to use. If they are pure Java (ie don't rely on support from the VM) then you may be able to grab the classes from OpenJDK 6 and simply include them in the classpath or bootclasspath as needed - but that not a supported configuration of course. If they need VM support then there is nothing you can do except, of course, to change the API's you use.
Thanks for replying. Can you please be little more descriptive about this process?
Which classes should I obtain from OpenJDK? In other words, how do I decide which classes I should pick from OpenJDK and use it?
If I mention these OpenJDK classes in the classpath or bootclasspath, will I be able to run my application which was compiled using Jdk 1.6 ?
It will be really helpful if you can explain these in detail.
First,as one of my colleagues pointed out you must compile everything for Java 5 for it to run on the Java RTS VM (otherwise the class-file version won't match). Either uses a Java 5 javac or else specify "-source 1.5 -target 1.5" on the Java 6 javac command-line.
What classes you need depends on your code - what is it using from JDK6? If you don't know explicitly try compiling using Java 5/ Java RTS (not Java 6 with the options) and see what classes are not found. You might then be able to take those classes from the OpenJDK, plus any dependencies (which subsequent compilation and testing will highlight), recompile them and them to the [boot]classpath. If you need to replace existing JDK5 classes then you will need to pre-prend to the bootclasspath.
There's no guarantee this will work as it really depends on the classes involved, how broad a dependency set there is, and whether VM support is needed.
Step 1 is to work out what JDK6 features you are using.