» Crunching Java Class Versions with
I recently needed to root out the JDK 6 classes lurking in an application that was supposed to run
on JDK 5, and it turns out that it's not that difficult with a little
unpacking all of the constituent JAR files:
$ find . -name *.class | tee -a classes | xargs -n 1 head -n 1 | \ cut -b 8 | xargs -IX printf '%d\n' "'X" | \ paste -d ' ' - classes | grep '^50'
Et, voila! I have the culprit:
50 ./jlayer-1.0.1.jar/javazoom/jl/converter/Converter$PrintWriterProgressListener.class 50 ./jlayer-1.0.1.jar/javazoom/jl/converter/Converter$ProgressListener.class [...]
A rebuild of the JLayer library, and all's well again.