![](/img/trans.png)
[英]java.lang.ClassNotFoundException: org.apache.Struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
[英]java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter even if the configuration looks fine
我知道在 StackOverflow 上有很多类似的问题,但我想我浏览了每个问题并尝试了所有建议的问题,但没有一个奏效。
我正在尝试将应用程序从struts 1迁移到struts 2 ,但为了使事情更容易,我首先尝试迁移 struts1 示例应用程序,以便对这些步骤充满信心。 我正在谈论的示例应用程序是此存储库的apps文件夹中的应用程序。
所以,这是我目前的配置:
到目前为止,我所做的步骤是:
上述文件如下所示:
web.xml(摘录) :
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
struts.xml :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>
<constant name="struts.devMode" value="true"/>
<package name="default" namespace="/" extends="struts-default">
</package>
<!-- Add addition packages and configuration here. -->
</struts>
pom.xml(摘录) :
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.22</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.12.1</version>
</dependency>
最后,maven 依赖项部分如下所示:
而目标文件夹中的WEB-INF/lib文件夹如下所示:
所以我确信所有必需的依赖项都存在于目标中。 尽管如此,我还是不断收到错误消息:
org.apache.catalina.core.StandardContext filterStart 严重:异常启动过滤器 [struts2] java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
我确定类org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
存在,它拼写正确,并且对于我使用的 struts2 版本是正确的,因为如果我在 Java 文件中导入该类,它会得到建造成功。
我知道这个问题很常见,我的请求听起来很愚蠢,但我确实检查了我在网上找到的关于这个问题的任何问题,但没有一个解决方案有效。
我希望有人能给我一个提示。 谢谢
Struts 2 库的pom.xml
条目:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.22</version>
<scope>compile</scope>
</dependency>
如果您通过 Maven 运行(您应该这样做),您将需要它超过编译时间。
即使 WEB-INF/lib 映像已被截断(它至少缺少 XWork 依赖项),我也会将依赖项管理留给 Maven,而不是尝试手动进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.