うちのカレーにはこれが入ってる!って食材ありますか?

コンパイル後、実行すると次のようなエラーが発生します。
------
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等も見たのですが、いまひとつエラー内容がわからなくて困っています。よろしくお願いします。

A 回答 (2件)

実行環境にcom.odi.excelon.filesystem.DirectoryEnumerationというクラスが


見つからないというエラーですね。

>ちなみに"com/odi/excelon/filesystem"は"com.exln.dxe.filesystem"に変更になっていて、

という事ですから、上記のクラスがない事自体は問題ないはずです。おそらく、

>3行目はdeSearch内のコンストラクタ(他のクラスをnewしている)部分です。

の他のクラスで古いパッケージを利用しているのではないでしょうか。
コード内のimport文を確認してください。また、もしかしたらインポートしないで
"com.odi.excelon.filesystem.DirectoryEnumeration"のように直接指定しているかも
しれないので、その辺も確認してください。

それから、開発環境から古いパッケージを削除していますか? 削除していないようなら、
削除してから再コンパイルしてみてください。古いパッケージを使っている部分が
コンパイルエラーで見つかるかもしれません。

#なお、あまり自信はありません。
    • good
    • 0
この回答へのお礼

自分で作ったパッケージが
1.古いバージョンのモノが残っていた
2.新しいバージョンのモノが正しいlibにコピーされていなかった
ためにエラーになっていることが判りました。

指摘されて再度古いパッケージのチェックをしているときに発見しました。ありがとうございました!!!!!

お礼日時:2003/11/27 10:30

間違っていたらすみません。


java.lang.NoClassDefFoundError
これはクラスが見つからない時に出るので、
com/odi/excelon/filesystem/DirectoryEnumeration
このパッケージのクラスが存在しない(または、クラスパスが通っていない)のではないでしょうか?

以上参考までに。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報