公司项目2.1.6的项目升级到2.3.15.1
删除的jar包:
ognl-2.6.11.jar
xwork-2.1.2.jar
struts2-config-browser-plugin-2.1.6.jar
struts2-convention-plugin-2.1.6.jar
struts2-core-2.1.6.jar
struts2-dojo-plugin-2.1.6.jar
struts2-sitemesh-plugin-2.1.6.jar
struts2-spring-plugin-2.1.6.jar
添加的jar包:
commons-lang3-3.1.jar 这个必须要的
commons-lang-2.4.jar 两个并存了,历史项目中时间工具类用到了***.lang.StringUtils
ognl-3.0.6.jar
struts2-core-2.3.15.1.jar
xwork-core-2.3.15.1.jar
struts2-config-browser-plugin-2.3.15.1.jar
struts2-convention-plugin-2.3.15.1.jar
struts2-dojo-plugin-2.3.15.1.jar
struts2-sitemesh-plugin-2.3.15.1.jar
struts2-spring-plugin-2.3.15.1.jar
aspectjweaver.jar 看情况,我这没加这包老是报错,添加了就没事了。
在启动时抛出:nested exception is java.lang.NoClassDefFoundError:
org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException
--------接下来修改配置文件,如果web.xml没有修改,启动tomcat后会有过滤器警告提醒
原始web.xml的拦截器
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
修改成:
<filter>
<filter-name>StrutsPrepareFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
filter-name名字变了,记得引用地方也做修改。
--------网上说,strtus配置文件也修改,当时遗漏了,但也没发现错误,但最后还是也改了。
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
原来是2.1修改2.3了。
最后就完成了。