質問: tomcat起動時にClassNotFoundExceptionが出ます 原因は自分で作ったライブラリがだと思うのですが、普通のjavaアプリケーションでこのライブラリを使ってもエラーは出ません ライブラリの内容はテキストファイルを一行ずつ読み込んで配列に入れるクラスが一つ入っているだけです eclipseで開発しています 例外 javax.servlet.ServletException: サーブレットの実行により例外を投げました org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 原因 java.lang.NoClassDefFoundError: mypackage/Reader sns.Sns1.doPost(Sns1.java:52) javax.servlet.http.HttpServlet.service(HttpServlet.java:650) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) エラーログです 解決策をご教授ください
回答: ClassNotFoundExceptionではなくNoClassDefFoundErrorが発生しているということで良いですか? それから、これはTomcat起動後、ブラウザなどからアクセスした際に発生してますよね? また、私のお願いした他の2点の情報はどうでしょうか? 状況を予想して答えると、ライブラリをWebアプリケーションのクラスパスに 追加できていないことが原因になっているのではないでしょうか。 1. ライブラリをjarにして、WEB-INF/libの下に入れる。 2. ライブラリのソースコードに対してソースコードリンクを張る。 などしてクラスパスに含めることが必要です。 このページの「他のプロジェクトを参照するTomcatプロジェクト」にさらに色々な方法が書いてあるようです。