以下按照步骤,依次介绍。
1.jar包替换。共包括一下几个。
commons-lang3-3.1.jar
ognl-3.0.6.jar
struts2-convention-plugin-2.3.15.3.jar
struts2-core-2.3.15.3.jar
struts2-json-plugin-2.3.15.3.jar
xwork-core-2.3.15.3.jar
2.之后工程内编译报错。主要是新版中的api有变更。
struts中校验的一个属性原名为expression,新版为regexExpression。全部修改。
3.还有一个错误总是修改不好。之前的版本中没有Date类型的校验,工程自己实现,继承了xwork的DateRangeFieldValidator。
现在编译报错,就只是把错误修正,启动报错。
后来发现在新的xwork中已有类似实现,旧的文件删掉,配置信息删掉。
4.紧接着有报错,主要错误信息有
[webserver][ERROR][2013-10-25 17:18:06][main][c.o.x.u.l.c.CommonsLogger.error(line:38)]:> Actual exception
com.opensymphony.xwork2.config.ConfigurationException: Caught Exception while registering Interceptor class org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.6.0_20]
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator Config 1.0//EN"
"http://struts.apache.org/dtds/xwork-validator-config-1.0.dtd">
5.启动后,控制台提示 >>> ActionContextCleanUp <<< is deprecated! Please use the new filters!
原来是新版中web.xml配置的ActionContextCleanUp不建议使用了,删掉。
至此,主要问题已经解决,程序启动正常。再测试一下。
注:
1.后台有一堆报错信息,正在找方法解决。还好报错不影响程序运行。
来源:oschina
链接:https://my.oschina.net/u/127182/blog/171371