Jar files created using JVM 7 are not working on machines having JVM6 or lower versions for me
It was running fine
I uninstalled JRE7 ,JDK7 and all other JREs and JDKs. And then installed JRE6.I got the error "could not find main class: ABC"
On installing JRE7 again it's working.
Is there a way to make jar files created using JVM7 run on lower versions
This will give UnsupportedClassVersionError unsupported major.minor version error, i believe. You should compile your code with the same version on which you want to run. If you are using eclipse you can change the compile level.
Jesper de Jong wrote:But code compiled with a newer version will not work on an older version.
Unless you tell the compiler to make the generated byte code compatible with an older version (-source and -target compiler flags).
Additionally, your code needs to not depend on any newer library methods or classes. If a method was added in JDK 7, it won't be available using the older library, and your code will fail when it tries to call that method. This can be a little harder to check for - I find if I really need something to run on JDK 6, it's best to compile and test using JDK 6, not relying on the -source and -target options. But it is possible to get it to work using the -source and -target, if you need to. It's just risky.
Sure - if you check every method in the codebase. But that's kind of tedious and error-prone for a large codebase. And I don't know of an automated tool that does it, though it's theoretically possible. Anyone?
Don't play dumb with me! But you can try this tiny ad: