StartupUtil loads all of the default injectible objects (defaults.properties) before applying any overrides. In the case of Google App Engine this causes java.lang.NoClassDefFoundError: javax.swing.event.EventListenerList for DefaultScriptSessionManager. The current workaround is to provide a custom defaults file at WEB-INF/classes/org/directwebremoting/defaults.properties. To fix this issue, we should only load the defaults that have not been overridden.
More info in this thread
http://www.nabble.com/How-to-inject-my-own-ScriptSessionManager-implementation-in-Spring--to26019640.html