java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter,即使配置看起来很好
我知道在StackOverflow上有很多类似的问题,但我想我已经仔细检查了每一个问题,并尝试了所有建议的问题,但没有一个有效 我正在尝试将一个应用程序从struts 1迁移到struts 2,但为了使事情更简单,我首先尝试迁移struts1示例应用程序,以便对这些步骤有信心。我所说的示例应用程序是位于的apps文件夹中的应用程序 因此,这是我当前的配置:java.lang.ClassNotFoundException:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter,即使配置看起来很好,java,maven,struts2,struts,struts-1,Java,Maven,Struts2,Struts,Struts 1,我知道在StackOverflow上有很多类似的问题,但我想我已经仔细检查了每一个问题,并尝试了所有建议的问题,但没有一个有效 我正在尝试将一个应用程序从struts 1迁移到struts 2,但为了使事情更简单,我首先尝试迁移struts1示例应用程序,以便对这些步骤有信心。我所说的示例应用程序是位于的apps文件夹中的应用程序 因此,这是我当前的配置: 马文 爪哇8 雄猫9 Struts 1.4 Struts 2.5 到目前为止,我所做的步骤是: 在pom.xml文件中添加struts2
- 马文
- 爪哇8
- 雄猫9
- Struts 1.4
- Struts 2.5
<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>
<?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>
<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>
支柱2
org.apache.struts2.dispatcher.filter.strutspreadexecutefilter
支柱2
/*
支柱2
*.行动
struts.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>
<?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>
<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>
pom.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>
<?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>
<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>
org.apache.struts
目标文件夹中的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>
org.apache.struts
struts2型芯
2.5.22
编译
如果您是通过Maven运行的(您应该这样做),您将需要它超过编译时间
我会将依赖关系管理留给Maven来完成,而不会尝试手动完成,即使WEB-INF/lib映像已被截断(它至少缺少XWork依赖关系)