记录一下Struts2升级遇到的问题

针对于Struts2 从2.0升级到2.3.28版本,启动Tomcat出现了如下错误(jdk1.6 tomcat6.0):

Unable to load configuration. - action - file:/C:/Work_Java/Code/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/hzweb_front/WEB-INF/classes/struts/home/customer/struts-action-customer.xml:13:43
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
at org.apache.struts2.dispatcher.Dispatcher.getContainer(Dispatcher.java:970)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:438)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:482)
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:4001)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: Error building results for action logout in namespace /home/Customer - action - file:/C:/Work_Java/Code/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/hzweb_front/WEB-INF/classes/struts/home/customer/struts-action-customer.xml:13:43
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:441)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:556)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:295)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:264)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
... 23 more
Caused by: There is no result type defined for type 'redirect-action' mapped with name 'success'. Did you mean 'redirectAction'? - result - file:/C:/Work_Java/Code/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp2/wtpwebapps/hzweb_front/WEB-INF/classes/struts/home/customer/struts-action-customer.xml:14:35
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:725)
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:439)
... 28 more

起先看到报错信息,首先找到struts-action-customer.xml:13:43,对应的action,排查class type name等配置信息是否有误,有一点不得不提的是,此项目在之前的环境下是可以跑通的,所以就上网百度各种翻帖子,总结起来就两点:1.配置文件有误,2.jar包错了。当排除掉jar包有误的情况之后,再回头来看报错信息,找到第二个错误所在(Ps:之前考虑的有可能因为前面的错误导致了后面的异常)。然后看第二个错误的地方,大致理解为redirect-action语法不通,然后将struts-action-customer.xml 中的 <result type="redirect-action">删除掉

之后尝试启动项目,发现项目成功启动。

这里的一个大反转竟然是后面的错误导致了前面也报错。。。

Ps:mark一下项目所用的jar包 

1.commons-fileupload-1.3.1.jar
2.commons-io-2.2.jar
3.commons.lang3-3.2.jar
4.commons-logging.jar(日志处理)
5.freemarker-2.3.23.jar(视图页面渲染)
6.javassist-3.9.0.GA.jar
7.ognl-3.0.14.jar(表达式语言)
8.struts2-core-2.3.28.jar(struts2核心)
9.struts2-json-plugin-2.3.28
10.struts2-junit-plugin-2.3.28
11.struts2-spring-plugin-2.3.28
12.xwork-core-2.3.28.jar(webwork部分)

posted @ 2018-08-22 16:37  你都没滑板鞋  阅读(332)  评论(0编辑  收藏  举报