- ベストアンサー
実行時エラーの内容がわかりません
コンパイル後、実行すると次のようなエラーが発生します。 ------ Apache Tomcat/4.0.6 - HTTP Status 500 - Internal Server Error [type] Exception report [message] Internal Server Error [description] The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request. [exception] javax.servlet.ServletException: サーブレットの実行により例外を投げました at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) (中略) [root cause] java.lang.NoClassDefFoundError: com/odi/excelon/filesystem/DirectoryEnumeration at m7_tools.dbSearch.(dbSearch.java:35) at m7_listDisp.doGet(m7_listDisp.java:79) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) ----- 下から2行目でdbSearchをnewしていて、 3行目はdeSearch内のコンストラクタ(他のクラスをnewしている)部分です。 ちなみに"com/odi/excelon/filesystem"は"com.exln.dxe.filesystem"に変更になっていて、後者をimportしています。 コード自体は旧版の使いまわしなのですが。 classpath等も見たのですが、いまひとつエラー内容がわからなくて困っています。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
実行環境にcom.odi.excelon.filesystem.DirectoryEnumerationというクラスが 見つからないというエラーですね。 >ちなみに"com/odi/excelon/filesystem"は"com.exln.dxe.filesystem"に変更になっていて、 という事ですから、上記のクラスがない事自体は問題ないはずです。おそらく、 >3行目はdeSearch内のコンストラクタ(他のクラスをnewしている)部分です。 の他のクラスで古いパッケージを利用しているのではないでしょうか。 コード内のimport文を確認してください。また、もしかしたらインポートしないで "com.odi.excelon.filesystem.DirectoryEnumeration"のように直接指定しているかも しれないので、その辺も確認してください。 それから、開発環境から古いパッケージを削除していますか? 削除していないようなら、 削除してから再コンパイルしてみてください。古いパッケージを使っている部分が コンパイルエラーで見つかるかもしれません。 #なお、あまり自信はありません。
その他の回答 (1)
- yoshiki_reo
- ベストアンサー率17% (24/139)
間違っていたらすみません。 java.lang.NoClassDefFoundError これはクラスが見つからない時に出るので、 com/odi/excelon/filesystem/DirectoryEnumeration このパッケージのクラスが存在しない(または、クラスパスが通っていない)のではないでしょうか? 以上参考までに。
お礼
自分で作ったパッケージが 1.古いバージョンのモノが残っていた 2.新しいバージョンのモノが正しいlibにコピーされていなかった ためにエラーになっていることが判りました。 指摘されて再度古いパッケージのチェックをしているときに発見しました。ありがとうございました!!!!!