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
答案 0 :(得分:2)
我每天都在Struts2 / Tomcat6(在Eclipse中)工作,我不时会得到这个例外(它来了又去!!!)。让它消失的有助于重新排序构建路径顺序。所以,我转到项目的属性(右键单击它 - >属性), Java构建路径移动 struts-2-core。罐强> ...
答案 1 :(得分:2)
复制所有必需的jar文件并将其粘贴到WEB-INF/lib
文件夹中。然后运行您的项目。我希望它有所帮助。
答案 2 :(得分:1)
我遇到了同样的异常,在我的情况下,这是web.xml
文件中的错误。
是:
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.
StrutsPrepareAndExecuteFilter
</filter-class>
如您所见,filter.
之后和StrutsPrepareAndExecuteFilter
之后有一个换行符。
我解决了问题,只是删除了它们:
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
如果这也是你的情况,它可以解决问题。
答案 3 :(得分:1)
我遇到了同样的问题。但我找到了解决方案。
即使struts2包也包含彼此不兼容的所有jar文件包。仅当以下文件兼容时。我提到的jar文件兼容,您可以从Struts站点下载并使用它(确保在添加到库之前删除现有版本)
答案 4 :(得分:0)
根据findjar,您可能需要添加 struts2-core-2.1.6.jar 或更高
答案 5 :(得分:0)
你说你放了JAR文件......
在web-inf文件夹中以及eclipse动态web项目下的build-path&gt;库
JAR文件需要在
中... / web应用/ yourWebapp / WEB-INF / lib中
如果将它们直接放入WEB-INF目录,则Web容器不会将它们放到webapp的类路径中。
答案 6 :(得分:0)
编辑: 我又遇到了同样的问题。解决方案非常简单(如果你没有犯下面的错误)。您必须将库(本例中为struts2)放在WEB-INF / lib文件夹中。为此,请勿直接复制“.jar”。相反,请转到:“右键单击项目”&gt;属性&gt;部署组装&gt;添加..&gt;添加库的当前路径。当我使用Maven时,它对我有用(我选择了'Maven Dependencies'文件夹)。
编辑前:
我觉得有点不得不在这里给出答案。我遇到了同样的麻烦,我没有在互联网上找到答案..而且很简单..(我多次称自己很愚蠢lol)
我猜你要把&lt;过滤器&gt;和&lt; filter-mapping&gt;错误的web.xml上的struts配置。它应该是您的应用程序的xml,而不是您的服务器。
至少,这就是发生在我身上的事。由于我是java web应用程序的新手,我不知道文档(web.xml)之间的区别并忘记了一件重要的事情:总是下载示例并将其与我当前的项目进行比较。
答案 7 :(得分:0)
jar文件路径无效。检查服务器上的jar文件&amp;设置jar文件的有效路径。
答案 8 :(得分:0)
主要是因为struts2-core jar文件中的兼容性问题。如果你使用这个org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,那么你需要使用struts2-core 2.3.15及以上版本
答案 9 :(得分:0)
添加与struts相关的所有jar,因为BUILD PATH也将相同的文件复制到WEB-INF / lib