java.lang.ClassNotFoundException抛出一些错误

时间:2011-04-12 09:46:53

标签: java struts2 classnotfoundexception

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

10 个答案:

答案 0 :(得分:2)

我每天都在Struts2 / Tomcat6(在Eclipse中)工作,我不时会得到这个例外(它来了又去!!!)。让它消失的有助于重新排序构建路径顺序。所以,我转到项目的属性(右键单击它 - >属性), Java构建路径移动 struts-2-core。罐 ... enter image description here

答案 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站点下载并使用它(确保在添加到库之前删除现有版本)

  • 的freemarker-2.3.8.jar
  • OGNL-2.6.11.jar
  • struts2的核 - 2.2.1.jar
  • XWork的核 - 2.2.1.jar

答案 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