环境

  • Linux/Ubuntu20.04LTS
  • IntelliJ IDEA Community Editon 2021.1
  • maven 3.6.3
  • jetty 11.0.5
  • struts2 2.5.14.1

异常

[WARNING] Unable to load class org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

使用mvn jetty:run插件来运行web应用,出现异常!

原因

web.xml中对版本的接入点的类

  • struts2的2.2版本是
org.apache.struts2.dispatcher.FilterDispatcher
  • Struts2的2.3版本是
 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  • 在Struts2的2.5版本是
org.apache.struts2.dispatcher.FilterDispatcher

方案

  1. 直接修改配置web.xml文件, 如果您使用的是struts2版本2.5,则需要从org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter更改为org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
        </filter-class>
    </filter>

重新运行项目即可

参考

说明

  • 【遇上雨季,吃定彩虹】 --Layuji
  • 由个人整理发布,编写过程难免有所遗漏或错误,恳请指出,以免误导大家!

梁雨季
4 声望0 粉丝

平淡,才是生活的常态,那些兴奋或痛苦只是调味剂。只有足够沉稳的人,才会不被怪诞或新奇的事物诱惑,任世界繁华,终有自己的选择。