【问题标题】:Class not found exception in Struts 2在 Struts 2 中找不到类异常
【发布时间】:2021-09-04 01:27:27
【问题描述】:

我正在使用 java web 开发,并且似乎在某些类未正确加载时遇到了一些问题。从在线阅读和类似问题中,他们得到的关键是必须确保在正确的位置包含所有必要的 jar 文件。我相信我这样做是正确的。这是我启动Tomcat时遇到的错误

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)

这是我的目录结构

这是我的 web.xml 的内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>ProtienTracker</display-name>
  
 <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> 
  
</web-app>

错误消息也很模糊,想知道如何进行调试。 任何见解将不胜感激!

【问题讨论】:

    标签: java struts2 classnotfoundexception


    【解决方案1】:

    根据the documentation,这个类的这个包是org.apache.struts2.dispatcher.ng.filter,而不是org.apache.struts2.dispatcher.filter

    【讨论】:

      【解决方案2】:

      web.xml 中有错误的过滤器类引用。改成

      <filter-class>
        org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
      </filter-class>
      

      Example of web.xml 来自文档页面。

      【讨论】:

        猜你喜欢
        • 2011-01-24
        • 1970-01-01
        • 2017-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多