web-dev-qa-db-ja.com

java.lang.ClassNotFoundException:org.Apache.struts2.dispatcher.FilterDispatcher

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:\software\jdk1.5.0_06\bin;.;C:\WINDOWS\system32;C:\WINDOWS;D:/software/jdk1.5.0_06/bin/../jre/bin/client;D:/software/jdk1.5.0_06/bin/../jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\TortoiseSVN\bin.;D:\software\jdk1.5.0_06\bin;D:\software\Ant 1.7\bin;D:\software\Axis2-1.5.4\axis2-1.5.4-bin\axis2-1.5.4\bin;C:\Program Files\IDM Computer Solutions\UltraEdit\
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
9
user714698

あなたが持っている場合...

  1. 必要なすべての瓶が含まれています
  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.。jarの場合は、web.xmlのフィルタークラスタグ値を次のように変更します。

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

FilterDispatcherは、Struts2.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.でわかるように、異なる名前で呼び出されることがあります。

ありがとうございました、

20
shiv

Struts2は、プログラムを実行する前に、特定の数のjarファイルを必要とします。これらが編集ツールに含まれていることを確認してください。

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

Common-loggingjarが欠落している可能性があります。

これらのjarファイルを入手するには、struts2libファイルを確認してください。 :)

このURLもチェックしてみてください。

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

1
prog rice bowl

Eclipseを使用している場合は、必要なライブラリをJavaビルドパスで追加しても機能しません。これらのライブラリをDeploymentAssemblyに再度追加する必要があります。プロジェクト>>プロパティ>>を右クリックして[展開]を選択します。 Assemlby。必要なJava追加..ボタンをクリックしてビルドパスエントリを追加します。

1
dnsh

クラスパスにすべてのjarがあるため、問題はクラスパス設定にのみあります。 Eclipseを使用している場合は、クラスパスからすべてのjarを削除し、クラスパスを最初から作成し直してください。それが動作します

0
Umesh Awasthi

Webアプリケーションのクラスパスにstruts2.jarがあるかどうかを確認してください。

0
Jugal Shah

これは私のために働いた:

  1. 必要なすべてのjarファイルをWebContent> WEB-INF> libフォルダーにコピーします
  2. commons-lang3-3.1およびstruts2-core-2.3.16.を追加したことを確認してください
0
Praveesh P

次のjarパッケージの下にあるTomcatwebapp libフォルダーの下の最初のステップは、コピーがありません。

0
sunysen