In the JRQueryExecuterUtils the Factory is cached:
JRSingletonCache cache = new JRSingletonCache(JRQueryExecuterFactory.class);
This is no thread local caching, so this may result in ClassCastExceptions. In my concrete case I have to qork around this by instantiating the query executer by reflection with the current thread's context classloader. Please fix this or make it configurable.