记录一下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部分)
轉載于:https://www.cnblogs.com/cbml/p/9518610.html
總結
以上是生活随笔為你收集整理的记录一下Struts2升级遇到的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python+selenuim自动化测试
- 下一篇: pandas如何统计所有列的空值,并转化