17364


サーバー起動時にClassNotFoundExceptionが出力され、解決出来ません。  
エラー内容は以下です。

[code]

    重大: フィルタ Encoding の起動中の例外です
    java.lang.ClassNotFoundException: net.fnavi.bww.com.filter.EncodingFilter
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:520)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:501)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:120)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4574)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5193)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
    
[/code]

確認した内容としては、

  * net.test.bww.com.filter内にEncodingFilter.classが存在する
  * web.xml設定

[code]

      <filter>
        <filter-name>Encoding</filter-name>
        <filter-class>net.test.bww.com.filter.EncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>Windows-31J</param-value>
        </init-param>
      </filter>
    
[/code]

  * tomcatライブラリー内に、EncodingFilter.javaを含むjarが存在する  
（webライブラリーにも配置）

  * クラス名は間違えていません

という感じです。  
解決方法の分かる方がいましたら、ご教授をお願いします。


CC BY-SA 3.0
2015-10-07T10:00:26.787
17361
2015-10-08T00:39:37.303
2015-10-08T00:39:37.303
7626
7626
question
java tomcat
ClassNotFoundException が解決出来ません


エラーメッセージでは、パッケージ名は、`net.test.bww.com.filter`ではなく、`net.fnavi.gw.com.filter`となっていますが、`import`などでの指定で問題があるのではないでしょうか？


CC BY-SA 3.0
2015-10-07T10:17:56.727
17363
2015-10-07T10:17:56.727
7290
17361
answer


tomcatライブラリー(おそらくtomcatのディレクトリ/libのことでしょうか)の中、ないしはWebアプリケーションのwarファイル構成/WEB-
INF/lib の中に配置したjarファイルに、上記 EncodingFilter.class が含まれているのは間違いないでしょうか。

おそらく記述ミスだと思うのですが、.javaファイルではなく、.classファイルであっていますよね。

jarファイルの中身を確認する方法としては、jarファイルはzipで解凍できますので、拡張子をzipに変換して解凍すると確認できます。解凍後、上記EncodingFilterが、/net/test/bww/com/filter/
ディレクトリに存在していることも確認してください。

hata
様もご指摘のとおり、スタックトレースに出ているパッケージ名が異なっておりますので、jarファイルを作成したときのパッケージ名と、実際にソースをコンパイルしたときのパッケージ名が変わってしまっていないかも確認が必要です。

なお、余談ですが、Tomcatのlibと、WebアプリケーションのWEB-INF/lib
両方に入れる必要はありません。複数のWebアプリケーションで共通したものを使うのでなければ、Tomcatのlibには含めません。


CC BY-SA 3.0
2015-10-07T10:22:45.117
17364
2015-10-07T10:22:45.117
5778
17361
answer