I just starting hitting this issue as well.
The WebApplicationInitializer interface appears to be a marker interface so that a servlet 3.0 compliant library can have various servlet initialization processes run in code. It uses SpringServletContainerInitializer to gather all the WebApplicationInitializer objects to run as part of servlet 3.0 startup. SpringServlet* runs because it defines a service that servlet 3.0 looks for.
I have the same issue in that it loops through a bunch of objects from my jsf implementation (richfaces in my case), one exception message for each object, and gives the same error as listed above. Its not clear that these parts of the jsf system should be interacting at all.
During the exception error printing looping, my jvm runs out of PermGen space and aborts.
Here's an example of the error I get as well. The actual class is not important.
Code:
java.lang.IllegalArgumentException: class javax.faces.component.UISelectBoolean is not assignable to interface org.springframework.web.WebApplicationInitializer
I opened a bug: SPR-8557 https://jira.springsource.org/browse/SPR-8557