我知道在StackOverflow上有很多类似的问题,但是我想我遍历了每个问题,并尝试了所有建议的问题,但没有一个起作用。
我正在尝试将应用程序从struts 1迁移到struts 2,但是为了简化起见,我首先尝试迁移struts1示例应用程序,以使自己对这些步骤充满信心。我正在谈论的示例应用程序是this repository的apps文件夹中的那些。
所以,这是我当前的配置:
到目前为止,我已经完成的步骤是:
<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依赖项部分看起来像这样:
虽然文件夹看起来像这样:因此,我确定目标中存在所有必需的依赖项。尽管如此,我仍然收到错误消息:target
文件夹中的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文件,则它会成功构建。
[我知道这个问题很普遍,我的要求听起来很愚蠢,但是我已经从网上检查了我在网上发现的有关此问题的任何问题,但没有一种解决方案有效。我希望有人能给我提示。谢谢
我知道StackOverflow上有很多类似的问题,但是我想我经历了每个问题并尝试了所有建议的问题,但是没有一个起作用。我正在尝试迁移...
即使WEB-INF / lib映像已被截断(至少缺少XWork依赖性),我仍将依赖关系管理交给Maven,而不是尝试手动进行。