In version 2.7.x, it is supposedly usable on Java 6, since Java 7 types are loaded dynamically. However, what is the reasoning for printing to error stream "WARNING: Could not load ..." when running on Java 6? If Jackson 2.7 in general still works with Java 6, I don't want my application error stream to be polluted just for fun - my tests may actually be expecting a clean error stream!