java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuterFilter

时间:2012-12-20 09:07:35

标签: java struts2

我将所有struts2 jar复制到WEB-INF/lib文件夹,struts.xml文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">*

我在运行应用程序时仍然遇到此异常 我该如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

对于新版本的Struts2类路径改变如下(Struts 2.5)

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

包名已更改 有些类被移动到不同的包中,请参阅下面的列表以获取更多详细信息:

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
org.apache.struts2.dispatcher.filter.StrutsExecuteFilter
org.apache.struts2.dispatcher.filter.StrutsPrepareFilter
org.apache.struts2.dispatcher.listener.StrutsListener
org.apache.struts2.result.ServletRedirectResult
com.opensymphony.xwork2.interceptor.ValidationAware 

旧:

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter
org.apache.struts2.dispatcher.ng.listener.StrutsListener
org.apache.struts2.dispatcher.ServletRedirectResult
com.opensymphony.xwork2.ValidationAware 

了解详情Click Here

答案 1 :(得分:3)

关于提到的错误 SEVERE:异常启动过滤器struts2 java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

问题: 以下组合似乎存在问题 Eclipse - WTPPlugin - Struts2 - Maven3

结果: 我们假设当我们运行一个项目为“在服务器上运行”时,我们假设eclipse运行maven,创建WAR文件并在服务器上部署。但它不适合我。我确实在maven创建WAR的目标文件夹中看到了WAR文件,而WAR是完美的。但是eclipse似乎还有别的东西。

解: 将所有必需的JAR文件放入eclipse项目的WEB-INF / lib中。 如果您使用的是版本控制,请确保忽略lib文件夹。 如何在使用maven时找到所有必需的JAR?转到目标文件夹和WAR文件。将其打开并转到WEB-INF / lib。将所有这些JARS复制到eclipse项目的WEB-INF / lib。

谢谢, 苛刻

答案 2 :(得分:1)

web.xml文件中包含此映射

<filter> 
       <filter-name>struts2</filter-name> 
       <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> 
      </filter>

    <filter-mapping> 
       <filter-name>struts2</filter-name> 
       <url-pattern>/*</url-pattern> 
      </filter-mapping>

答案 3 :(得分:1)

它发生在我身上,我通过从Intellij设置重新创建工件来解决它。如果使用Intellij,则需要再次为Web项目重新创建工件。

  • 转到文件 - &gt;项目结构
  • 从左侧选项卡中选择工件。
  • 通过选择工件删除当前工件,然后单击工件顶部的( - )按钮。
  • 添加新工件,首先是战争爆炸,然后是战争存档。
  • 享受。

enter image description here