struts2从2.3.15.1升级到2.3.35过程中,需要注意一下几点配置:
1、配置struts2依赖包
<properties>
<struts.vesion>2.3.35</struts.vesion>
</properties>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>${struts.vesion}</version>
<exclusions>
<exclusion>
<artifactId>tools</artifactId>
<groupId>com.sun</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${struts.vesion}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>${struts.vesion}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>${struts.vesion}</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-config-browser-plugin</artifactId>
<version>${struts.vesion}</version>
</dependency>
2、修改struts.xml文件,在文件中追加如下配置
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
注意:
1、在升级过程中如果存在版本不一致的情况,需要把把这些旧的包删掉,不然会存在冲突的
2、一般升级过程中大致会出现的错误如下:
java.lang.NoClassDefFoundError: com/opensymphony/xwork2/config/BeanSelection
====>xwork-core-xxx.jar
java.lang.NoSuchMethodError: ognl.SimpleNode.isEvalChain(Lognl/OgnlContext;)Z
====>ognl-xxx.jar
java.lang.NoSuchFieldError: VERSION_2_3_0
====>freemarker-xxx.jar