(I'm on 1.9.10)
The functionality is implemented in org.codehaus.jackson.map.util.ClassUtils.findClass(String), and used in ClassNameIdResolver and TypeParser, but you missed another direct usage of Class.forName(String), which is
This actually led us to a problem when in an OSGi environment. In order to be able for Jackson to load our classes, we have set our classloader as the thread-context classloader before deserializion. This works fine except when we need to deserialize a String into Class<?> object, due to the fact that ClassDeserializer.deserialize(String) does not use thread-context classloader.
Is there a reason why ClassDeserializer does not make a direct use of ClassUtils.findClass() ? (It would as well prevent you from duplicating the code related to primitives).