In J2EE environments, the Wink libraries may be managed by a different classloader (A) than the Application subclass (B). In these cases, (A) needs to load (B) by way of Class.forName(B). However, due to the J2EE environment, and classloader hierarchies, (A) does not have visibility into (B).
The solution is to use the thread context classloader instead of Class.forName, which uses the system classloader. This "try thread context classloader first, then fallback to system classloader" functionality is built into org.apache.commons.lang.ClassUtils.getClass(String). We already have a dependency on Apache commons in wink-server, so I figure we can just use that.