5
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

我添加了以下 jar 文件:

commons-fileupload-1.2.1.jar
commons-logging-1.1.1.jar
freemarker-2.3.16.jar
ognl-3.0.jar
servlet-api.jar
struts2-core-2.2.1.jar
xwork-core-2.2.1.jar
4

10 回答 10

2

I work with Struts2/Tomcat6 (in Eclipse) every day and I get this exception from time to time (it comes and goes !!!). What helps make it go away is to reorder the build path order. So, I go to properties of the project (right click on it -> properties), Java Build path move move up the struts-2-core .jar...enter image description here

于 2012-08-21T08:22:49.280 回答
2

复制所有需要的 jar 文件并将它们粘贴到WEB-INF/lib文件夹中。然后运行你的项目。我希望它有所帮助。

于 2013-09-22T10:13:04.837 回答
1

我遇到了同样的异常,就我而言,这是web.xml文件中的错误。

它是:

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

filter.如您所见, after和 after有一个换行符StrutsPrepareAndExecuteFilter

我解决了删除它们的问题:

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

如果这也是你的情况,它可能会解决问题。

于 2012-09-16T13:31:55.473 回答
1

我遇到了同样的问题。但我找到了解决方案。

甚至 struts2 包也包含所有相互不兼容的 jar 文件包。仅当以下文件应兼容时。我提到的 jar 文件是兼容的,您可以从 Struts 站点下载并使用它(确保在添加到库之前删除现有版本)

  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.2.1.jar
  • xwork-core-2.2.1.jar
于 2012-10-05T05:41:36.630 回答
0

jar 文件路径无效。检查服务器上的 jar 文件并为您的 jar 文件设置有效路径。

于 2012-08-21T08:32:50.090 回答
0

编辑: 我又遇到了同样的问题。解决方案非常简单(如果您没有犯以下错误)。您必须将库(在本例中为 struts2)放在 WEB-INF/lib 文件夹中。为此,请勿直接复制“.jar”。相反,请转到:“右键单击项目”>属性>部署程序集>添加..>添加库的当前路径。使用 Maven 时它对我有用(我选择了“Maven Dependencies”文件夹)。


编辑前:

我觉得有义务在这里给出答案..我遇到了同样的麻烦,我在互联网上没有找到答案..这很简单..(我多次称自己很愚蠢,哈哈)

我猜你把 <filter> 和 <filter-mapping> struts 配置放在了错误的 web.xml 上。它应该是您的应用程序的 xml,而不是您的服务器的。

至少,这就是发生在我身上的事。由于我是 java web 应用程序的新手,我不知道文档 (web.xml) 之间的区别并忘记了一件重要的事情:总是下载示例并将其与我当前的项目进行比较。

于 2012-08-20T02:46:11.277 回答
0

这主要是因为 struts2-core jar 文件中的兼容性问题。如果你使用这个 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter ,那么你需要使用 struts2-core 2.3.15 及以上版本

于 2013-11-13T09:14:32.807 回答
0

将所有与 struts 相关的 jar 添加为 BUILD PATH 还将相同的文件复制到 WEB-INF/lib

于 2014-07-21T08:42:07.197 回答
0

根据findjar您可能需要添加struts2-core-2.1.6.jar或更高版本

于 2011-04-12T09:56:18.230 回答
0

你说你会把 JAR 文件...

在 web-inf 文件夹以及 Eclipse 动态 Web 项目下的 build-path>libraries 中

JAR 文件需要在

.../webapps/yourWebapp/WEB-INF/lib

如果将它们直接放入 WEB-INF 目录,则 web 容器不会将它们放入 webapp 的类路径中。

于 2011-04-12T10:16:21.860 回答