- PR -

tomcat起動失敗の理由

1
投稿者投稿内容
2040
会議室デビュー日: 2003/07/21
投稿数: 3
投稿日時: 2003-07-21 21:21
はじめまして。

只今、JSP、サーブレットの開発に携わっている者です。
本日tomcatを再インストールしたら
起動ができなくなってしまいました。
コマンドプロンプトにて"startup"とたたいても
画面がすぐに消えてしまい、エラーの原因がわからなかったので、
開発に使っているeclipseの方から起動したところ、

Exception during startup processing
java.lang.reflect.InvocationTargetException: java.lang.NoClassDefFoundError: org/xml/sax/HandlerBase
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:488)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:106)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:243)
at java.net.URLClassLoader.access$100(URLClassLoader.java:51)
at java.net.URLClassLoader$1.run(URLClassLoader.java:190)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:183)
at org.apache.catalina.loader.StandardClassLoader.findClass(StandardClassLoader.java:674)
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:1093)
at org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:992)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:310)
at org.apache.catalina.startup.Catalina.createStartMapper(Catalina.java:280)
at org.apache.catalina.startup.Catalina.start(Catalina.java:722)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at java.lang.reflect.Method.invoke(Native Method)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)

といった例外が発生していることが分かりました。

そこで%TOMCAT_HOME%\libにxerces.jarを入れて再起動してみたのですが、
結果は変わりませんでした。
上記のような例外が発生した場合は、xerces.jarの他にも
ライブラリが必要なのでしょうか?

どなたかご教授願います。



環境
OS:windows2000pro
tomcat:Apache Tomcat 4.0.6
Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2003-07-21 22:23
Java2sdkが1.4.xなら、org.xml.sax.HandlerBaseクラスは標準で
入ってるはずですが。

1.3.xって事はないですよね?
2040
会議室デビュー日: 2003/07/21
投稿数: 3
投稿日時: 2003-07-21 22:47
御返事ありがとうございます。

JDKのバージョンを記述し忘れていました。
開発規約で1.3.1とされているので
tomcatインストール時もJAVA_HOMEは1.3.1を設定しました。

再インストールする前は、正常に動作していたのですが・・・。
そもそも再インストールしたのは
Oracle9iをインストールした後、tomcatが起動できなくなっていたことに
気づいたためです。
ですがそのときの例外はBindExceptionであったので
server.xmlにて設定してある8080ポートを他のポートに変更すれば
良かったのですが。

Oracle9iインストール
-> tomcat起動時BindException発生
-> tomcat再インストール
-> 先のエラー(NoClassDefFoundError: org/xml/sax/HandlerBase)
といった流れで面倒なことになってしまいました。

こういった状況はもうどうしようもないのでしょうか?






Kissinger
ぬし
会議室デビュー日: 2002/04/30
投稿数: 428
お住まい・勤務地: 愛知県
投稿日時: 2003-07-21 23:32
問題がこの例外だけなら、小さな間違いと思われます。

適解ではないかもしれませんが、試しに標準拡張のパッケージを
入れるディレクトリに xerces.jarを入れて見てみてください。
j2sdkをインストールしたディレクトリの下の jre\lib\extと
Program Files\Java\j2re1.3.1\lib\extの両方にです。

もしこれで例外が無くなる(または別のものになる)ようなら、
%TOMCAT_HOME%が間違えてるとか、そのあたりかも知れません。

(自信のない説明で、助言になってないかもしれませんが。)
2040
会議室デビュー日: 2003/07/21
投稿数: 3
投稿日時: 2003-07-22 13:47
%TOMCAT_HOME%\common\lib下を確認したところ、
妙にjarファイルが少ないことに気づき、
同僚が持っていたインストーラで再度インストールしてみました。

・・・その後、問題なく起動いたしました。
同じサイトからダウンロードしてきたものだと思うのですが、
そういった違いってあるものなんでしょうかね?

お騒がせいたしました。
ご丁寧なご返信、ありがとうございました。
koe
大ベテラン
会議室デビュー日: 2003/07/13
投稿数: 198
投稿日時: 2003-07-22 17:38
common\lib以下のjarファイルが少ないとのことですが、
jakarta-tomcat-4.0.6-LE-jdk14.exe をダウンロードしたのではないでしょうか。
こちらはSAX周りのライブラリを含まないアーカイブで、
それらを標準で持っているJ2SE-1.4以降用です。
ゆん
常連さん
会議室デビュー日: 2003/07/11
投稿数: 32
投稿日時: 2003-07-23 08:31
TOMCAT4.0ではTOMCAT_HOMEではなくCATALINA_HOMEというパスになっているはずです。
CATALINA_HOMEが設定されていないのではないでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)