Struts 2 behaves quite differently based on what plugins are installed. Looks like you are using the Spring plugin, which it sounds like you shouldn't be. Remove the struts2-spring-plugin-VERSION.jar from your WEB-INF/lib.
Don On 8/4/07, Van Riper <[EMAIL PROTECTED]> wrote: > I'm running into trouble migrating my existing web application from > WebWork 2.2.2 to Struts 2.0.9. We are using JSE6 (AKA JDK 1.6) and > Tomcat 5.5.17. I did everything mentioned on the wiki plus a bunch > more stuff: > > http://struts.apache.org/2.x/docs/webwork-2-migration-strategies.html > > If I ever get this working I promise to provide feedback to update > this page based on my experiences migrating to Struts 2.0.9. To set > things up, I was fairly quickly able to get to the point that I had a > clean build of my webapp after swapping out WebWork and swapping in > Struts 2.0.9. Hard as it may be to believe, we were not using Spring > IoC. I had that turned off in my webwork.properties like so: > > ### Configuration for IoC Container > ### webwork.objectFactory=spring > > However, it appears that S2 really wants some IoC container because I > kept getting complaints with this commented out. So, I uncommented it > in my renamed struts. properties file (added necessary listener in > web.xml too) and included the latest Spring Framework jar file > (2.0.6). This in turn gave me complaints about missing ActiveMQ > classes and including the main jar file for latest ActiveMQ (4.1.1) > didn't seem to help. That catches everyone up to my current situation. > Here is the full console log output for my latest failed webapp > startup: > > <CONSOLE-OUTPUT> > > cmd /c C:\java\apache-tomcat-5.5.17\bin\catalina.bat run > Using CATALINA_BASE: C:\Documents and > Settings\van\.IntelliJIdea60\system\tomcat_Unnamed_7c1b22c1 > Using CATALINA_HOME: C:\java\apache-tomcat-5.5.17 > Using CATALINA_TMPDIR: > C:\svn\head\dev\projects\krillion\dist\catalina_bases\browser\dev\temp > Using JRE_HOME: C:\java\jdk1.6.0 > Connected to the target VM, address: '127.0.0.1:1866', transport: 'socket' > Aug 3, 2007 4:11:03 PM org.apache.coyote.http11.Http11AprProtocol init > INFO: Initializing Coyote HTTP/1.1 on http-8000 > Aug 3, 2007 4:11:03 PM org.apache.coyote.ajp.AjpAprProtocol init > INFO: Initializing Coyote AJP/1.3 on ajp-8002 > Aug 3, 2007 4:11:03 PM org.apache.catalina.startup.Catalina load > INFO: Initialization processed in 640 ms > Aug 3, 2007 4:11:03 PM org.apache.catalina.core.StandardService start > INFO: Starting service Catalina > Aug 3, 2007 4:11:03 PM org.apache.catalina.core.StandardEngine start > INFO: Starting Servlet Engine: Apache Tomcat/5.5.17 > Aug 3, 2007 4:11:03 PM org.apache.catalina.core.StandardHost start > INFO: XML validation disabled > 16:11:07,218 INFO [/]: Initializing Spring root WebApplicationContext > 16:11:07,218 INFO ContextLoader: Root WebApplicationContext: > initialization started > 16:11:07,296 INFO XmlWebApplicationContext: Refreshing > [EMAIL PROTECTED]: > display name [Root WebApplicationContext]; startup date [Fri Aug 03 > 16:11:07 PDT 2007]; root of context hierarchy > 16:11:07,500 INFO XmlBeanDefinitionReader: Loading XML bean > definitions from ServletContext resource > [/WEB-INF/applicationContext.xml] > 16:11:07,718 INFO XmlWebApplicationContext: Bean factory for > application context > [EMAIL PROTECTED]: > [EMAIL PROTECTED] > 16:11:07,812 INFO DefaultListableBeanFactory: Pre-instantiating > singletons in [EMAIL PROTECTED]: > defining beans > [connectionFactory,messageworkDestination,jmsTemplate,mapMessageFactory,textMessageFactory,actionMessageSender]; > root of factory hierarchy > 16:11:07,812 INFO DefaultListableBeanFactory: Destroying singletons > in [EMAIL PROTECTED]: > defining beans > [connectionFactory,messageworkDestination,jmsTemplate,mapMessageFactory,textMessageFactory,actionMessageSender]; > root of factory hierarchy > 16:11:07,828 ERROR ContextLoader: Context initialization failed > org.springframework.beans.factory.CannotLoadBeanClassException: Cannot > find class [org.codehaus.activemq.ActiveMQConnectionFactory] for bean > with name 'connectionFactory' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]; nested exception is > java.lang.ClassNotFoundException: > org.codehaus.activemq.ActiveMQConnectionFactory > Caused by: > java.lang.ClassNotFoundException: > org.codehaus.activemq.ActiveMQConnectionFactory > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198) > at org.springframework.util.ClassUtils.forName(ClassUtils.java:201) > at > org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:327) > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1075) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:282) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4187) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) > at > org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608) > at > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) > at > org.apache.catalina.core.StandardService.start(StandardService.java:450) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:709) > at org.apache.catalina.startup.Catalina.start(Catalina.java:551) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) > 16:11:07,843 ERROR [/]: Exception sending context initialized event to > listener instance of class > org.springframework.web.context.ContextLoaderListener > org.springframework.beans.factory.CannotLoadBeanClassException: Cannot > find class [org.codehaus.activemq.ActiveMQConnectionFactory] for bean > with name 'connectionFactory' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]; nested exception is > java.lang.ClassNotFoundException: > org.codehaus.activemq.ActiveMQConnectionFactory > Caused by: > java.lang.ClassNotFoundException: > org.codehaus.activemq.ActiveMQConnectionFactory > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1198) > at org.springframework.util.ClassUtils.forName(ClassUtils.java:201) > at > org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:327) > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1075) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:282) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352) > at > org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:244) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:187) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4187) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524) > at > org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608) > at > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:535) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:470) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) > at > org.apache.catalina.core.StandardService.start(StandardService.java:450) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:709) > at org.apache.catalina.startup.Catalina.start(Catalina.java:551) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432) > Aug 3, 2007 4:11:07 PM org.apache.catalina.core.StandardContext start > SEVERE: Error listenerStart > Aug 3, 2007 4:11:07 PM org.apache.catalina.core.StandardContext start > SEVERE: Context [] startup failed due to previous errors > 16:11:07,859 INFO [/]: Closing Spring root WebApplicationContext > Aug 3, 2007 4:11:08 PM org.apache.coyote.http11.Http11AprProtocol start > INFO: Starting Coyote HTTP/1.1 on http-8000 > Aug 3, 2007 4:11:08 PM org.apache.coyote.ajp.AjpAprProtocol start > INFO: Starting Coyote AJP/1.3 on ajp-8002 > Aug 3, 2007 4:11:08 PM org.apache.catalina.startup.Catalina start > INFO: Server startup in 4969 ms > > </CONSOLE-OUTPUT> > > The peculiar thing about this failure is that it is complaining about > not being able to load this class: > > org.codehaus.activemq.ActiveMQConnectionFactory > > When I crack open the latest ActiveMQ jar from Apache site, there is > an ActiveMQConnectionFactory class. However, it is packaged like so: > > org.apache.activemq.ActiveMQConnectionFactory > > I am beginning to spin my wheels on this. Any pointers or suggestions > would be much appreciated. If I can't figure this out, I may have to > admit defeat and switch to Rails development. ;-) > > -Van > > Mike Van Riper > [EMAIL PROTECTED] > > Silicon Valley Web Developer JUG > https://sv-web-jug.dev.java.net > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]