Struts2+Spring整合时的异常记录 - ClassNotFound
来源:互联网 发布:淘客小程序源码 编辑:程序博客网 时间:2024/06/08 10:32
好久没有自己搭Struts2+Spring的环境了,今天冷不丁的撘一下,还真是尴尬啊!
1.ClassNotFound
java.lang.ClassNotFoundException: orderActionat org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)at com.opensymphony.xwork2.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:152)at com.opensymphony.xwork2.ObjectFactory.getClassInstance(ObjectFactory.java:108)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:472)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:426)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:552)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:250)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)at org.apache.catalina.core.StandardService.start(StandardService.java:525)at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)at org.apache.catalina.startup.Catalina.start(Catalina.java:595)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:289)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)ERROR [main] - Dispatcher initialization failedUnable to load configuration. - action - file:/D:/JavaApp/apache-tomcat-6.0.35/webapps/dop/WEB-INF/classes/struts.xml:9:60at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)at org.apache.catalina.core.StandardService.start(StandardService.java:525)at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)at org.apache.catalina.startup.Catalina.start(Catalina.java:595)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:289)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)Caused by: Action class [orderAction] not found - action - file:/D:/JavaApp/apache-tomcat-6.0.35/webapps/dop/WEB-INF/classes/struts.xml:9:60at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:482)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:426)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:552)at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:292)at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:250)at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)... 22 more INFO [main] - Closing Root WebApplicationContext: startup date [Thu Sep 12 18:26:23 CST 2013]; root of context hierarchyDEBUG [main] - Returning cached instance of singleton bean 'lifecycleProcessor' INFO [main] - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@10f0625: defining beans [orderAction]; root of factory hierarchy
这个问题是这样发生的,在Struts2的配置文件中:
<package name="p_order" namespace="/" extends="struts-default"> <action name="save" class="orderAction" method="save"> <result>/index.jsp</result> </action> </package>
Spring中是这样的:
<!-- Action --><bean id="orderAction" class="org.ygy.dop.action.OrderAction" scope="prototype"></bean>
最重要的错误在pom.xml中,一个很重要的依赖没有引进来。
<!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${spring.version}</version></dependency><!-- Struts2 --><dependency><groupId>org.apache.struts</groupId><artifactId>struts2-core</artifactId><version>${struts.version}</version></dependency>
然后,运行,我就报错了。
说什么找不到Action,找不到配置文件,肯定是,Struts没有获取到Spring中的Bean,猛然间想到,还有一个插件:
<dependency><groupId>org.apache.struts</groupId><artifactId>struts2-spring-plugin</artifactId><version>${struts.version}</version></dependency>
一个Struts2和Spring整合时使用的jar包。
引入以来之后,世界就清净了。
- Struts2+Spring整合时的异常记录 - ClassNotFound
- Struts2+Spring整合时异常 - FileNotFoundException
- struts2和spring整合时,报异常
- rmi的ClassNotFound 异常
- struts2与spring整合时,报空指针NullPointerException异常的解决
- struts2 和 spring整合时的 Action class ... not found 异常
- spring整合struts2时action里的service注入不进来,报空指针异常
- spring4+struts2+hibernate5整合出现spring异常
- struts2 spring 整合 action 依赖注入异常
- spring整合hibernate时的getHibernateTemplate()异常
- struts2 + spring 整合的问题
- Struts2与Spring的整合
- struts2和spring的整合
- struts2 spring hibernate的整合
- struts2+hibernate+spring的整合
- Struts2与Spring的整合
- struts2 与spring 的整合
- SPRING与STRUTS2的整合
- ckeditor4.2.1常用配置
- JAVA经验小结
- maven学习
- 快速排序 递归转非递归
- js 将json字符串转换为json对象
- Struts2+Spring整合时的异常记录 - ClassNotFound
- 兼容Chrome和IE的ajax轻量级PHP聊天室实现
- linux下的tomcat jvm内存
- (0903)2013华为校园招聘机试题
- Java开发 收集
- sqlserver替换字符串的某一部分
- 建立在线社交网络中的关系权重模型
- 关于android 导入jar包出现could not find .classpath的问题
- maven学习2