配置Struts2报错:

配置Struts2报错:

 


可能是由于包冲突导致的,检查项目的WEB-INF/lib下的jar是不是有冲突的,如将struts2-core-2.3.16.jar和struts-core-1.3.10.jar删除其一。


删除时要保证版本的匹配,以防止造成下面错误:

org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter struts2 java.lang.NoSuchMethodError: com.opensymphony.xwork2.util.finder.ClassFinder.(Lcom/opensymphony/xwork2/util/finder/ClassLoaderInterface;Ljava/util/Collection;ZLjava/util/Set;Lcom/opensymphony/xwork2/util/finder/Test;)V
 at org.apache.struts2.convention.PackageBasedActionConfigBuilder.findActions(PackageBasedActionConfigBuilder.java:377)
 at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:335)

原因是xwork 的jar包和struts2的jar包不匹配,需要将其版本号对应。  

要么用struts2-core-2.3.16.jar和xwork-core-2.3.16.jar,要么用struts2-core-2.2.1.jar和xwork-core-2.2.1.jar。当然,我会选择新的版本。

另外,有的人也说是是因为tomcat配置路径中带有空格,所以最好提前保证让其不带有空格。

删除jar包时也要注意:

  当你只在WEB-INF/lib下将多余的jar包delete后,myeclipse项目名称上可能会出现红色感叹号,这时需要右键bulid path,Configure Build Path ,在弹出的对话框中将打红色叉号的jar包remove,将lib下未引用的jar包通过Add jar引用。

原文地址:https://www.cnblogs.com/mubin/p/3578293.html