java.lang.Исключение ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher

#java #struts2

#java #struts2

Вопрос:

регистрируйтесь при запуске tomcat

 Apr 28, 2011 10:52:57 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:softwarejdk1.5.0_06bin;.;C:WINDOWSsystem32;C:WINDOWS;D:/software/jdk1.5.0_06/bin/../jre/bin/client;D:/software/jdk1.5.0_06/bin/../jre/bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesTortoiseSVNbin.;D:softwarejdk1.5.0_06bin;D:softwareAnt 1.7bin;D:softwareAxis2-1.5.4axis2-1.5.4-binaxis2-1.5.4bin;C:Program FilesIDM Computer SolutionsUltraEdit
Apr 28, 2011 10:52:58 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:StrutsHelloWorld' did not find a matching property.
Apr 28, 2011 10:52:58 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:StrutsHelloWorld1' did not find a matching property.
Apr 28, 2011 10:53:00 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Apr 28, 2011 10:53:00 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3657 ms
Apr 28, 2011 10:53:00 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Apr 28, 2011 10:53:00 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
Apr 28, 2011 10:53:01 AM org.apache.catalina.core.StandardContext filterStart
SEVERE: Exception starting filter struts2
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:269)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4071)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4725)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Apr 28, 2011 10:53:01 AM org.apache.catalina.core.StandardContext start
SEVERE: Error filterStart
Apr 28, 2011 10:53:01 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/StrutsHelloWorld1] startup failed due to previous errors
log4j:WARN No appenders could be found for logger (com.opensymphony.xwork2.config.providers.XmlConfigurationProvider).
log4j:WARN Please initialize the log4j system properly.
Apr 28, 2011 10:53:05 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Apr 28, 2011 10:53:05 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Apr 28, 2011 10:53:05 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/46  config=null
Apr 28, 2011 10:53:05 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4951 ms
  

Ответ №1:

Если у вас есть…

  1. включены все необходимые jars
  2. Правильно настроен путь сборки
  3. добавил их все в сборку развертывания
    правильно.

тогда вы также получаете «java.lang.Исключение ClassNotFoundException: org.apache.struts2.dispatcher.Ошибка FilterDispatcher » тогда вы, возможно, неправильно выполняете приведенные ниже действия.

решение:

проверьте свой struts2-core-x.x.jar версия.

—> если это struts2-core-2.5.jar, то измените значение тега класса фильтра в web.xml для

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

—> если это struts2-core-2.1.3.jar, то измените значение тега класса фильтра в web.xml для

 <filter-class>
     org.apache.struts2.dispatcher.FilterDispatcher
  </filter-class>
  

FilterDispatcher устарел, поскольку Struts 2.1.3. Если вы работаете с более старыми версиями, используйте решение, приведенное выше.

—> если это struts2-core-2.3.X.jar, то измените значение тега класса фильтра в web.xml для

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

Причина всего этого в том, что контроллеры struts 2 размещены в разных местах в разных версиях struts2-core jar и некоторое время они вызываются разными именами, как вы можете видеть в 2.1.3.

Спасибо,

Ответ №2:

Struts2 требует определенного количества файлов jar перед выполнением ваших программ. Убедитесь, что они включены в ваши инструменты редактирования:

 commons-logging-x.x.jar
freemarker-x.x.jar
xwork-x.x.jar
struts2-core-x.x.jar
ognl-x.x.jar
  

Вполне вероятно, что jar-файл общего ведения журнала отсутствует.

Проверьте файлы библиотеки struts2, чтобы получить эти jar. 🙂

Возможно, вы также захотите проверить этот URL:

http://www.mkyong.com/struts2/difference-between-struts-2-filterdispatcher-and-strutsprepareandexecutefilter/

Ответ №3:

Если вы используете Eclipse, то добавление необходимых библиотек только в Java Build Path не сработает. Вы должны снова добавить эти библиотеки в сборку развертывания. Щелкните правой кнопкой мыши на проекте>> Свойства >> выберите сборку развертывания . Добавьте необходимые записи пути сборки Java, нажав на кнопку Добавить.. .

Ответ №4:

Проверьте, есть ли у вас struts2.jar в пути к классу вашего веб-приложения.

Комментарии:

1. Он уже включен в мой путь сборки в Maven Dependencies, но он все еще не работает. Я что-то упускаю?

2. не могли бы вы, пожалуйста, опубликовать pom.xml

Ответ №5:

Проблема заключается только в настройке пути к вашему классу, поскольку у вас есть все jar-файлы в вашем пути к классу. если вы используете eclipse, просто удалите все jar из пути к классу и снова определите путь к классу с нуля. это будет работать

Ответ №6:

Первым шагом посмотрите в папке tomcat webapp lib ниже, у следующего пакета jar нет копии,

Ответ №7:

Это сработало для меня:

  1. Скопируйте все необходимые jar-файлы в папку WebContent > WEB-INF > lib
  2. Убедитесь, что вы добавили commons-lang3-3.1 и struts2-core-2.3.16.3

Ответ №8:

Struts2 использует множество зависимых jar-файлов, храните их в папке WEB-INF / lib. Эта комбинация работает для меня. Я развертываю их на Tomcat-7.0.6 или 7.0.57

Совместимые банки, которые я использовал: struts2-core-2.3.4.jar commons-fileupload-1.3.1.jar commons-io-2.4.jar commons-logging-1.1.3.jar commons-logging-api-1.1.jar freemarker-2.3.23.jar ognl-3.1.4.jar xwork-core-2.3.4.jar javaassist-3.2.0-GA.jar commons-lang3-3.4.jar