こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Tomcatインストール時に付属してあるexampleのJSPについて

はじめまして。

JSPについて質問があります。
Tomcatインストール時に付属してあるデフォルトページのexampleのServletについては実行できたのですが、exampleのjspについては実行できず、ブラウザにエラーが表示されました。

エラー内容:
------------------------------
Error: 500
Location: /examples/jsp/num/numguess.jsp
Internal Servlet Error:
javax.servlet.ServletException: sun/tools/javac/Main
(以下略)
------------------------------
ちなみに自分で作成したJSPファイルも実行できず、exampleのjspと全く同じ内容のエラー内容がブラウザに表示されました。

ちなみに開発環境は
RedHatLinux7.2
Java2 SDK 1.3.0
Jakarata Tomcat 3.2.4
で、
環境変数は
JAVA_HOME=/usr/java/jdk1.3.0_02
TOMCAT_HOME=/usr/src/jakarta/tomcat
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:/usr/java/jdk1.3.0_02/lib/tools.jar:$TOMCAT_HOME/lib/servlet.jar
です。

クラスパスには、JDKのコンパイラ、サーブレットのコンパイラを設定しているのですが、設定に何か足りないのでしょうか?
大変困っています。
もし、何か分かる事がありましたら、ご教授御願い致します。

投稿日時 - 2002-05-09 17:18:36

QNo.267131

すぐに回答ほしいです

質問者が選んだベストアンサー

Tomcatのバージョンは何番でしょうか?
java.lang.NoClassDefFoundError: sun/tools/javac/Main
となっていますので、何らかの原因で、tools.jarへのCLASSPATH
の設定が無効になっているのだと思います。

投稿日時 - 2002-05-10 00:21:41

お礼

問題解決しました!

環境変数を今まで、rootユーザではルートディレクトリ内の.shrc、一般ユーザではルートディレクトリの.bashrcに設定しており、
rootユーザでルートディレクトリの.shrcの内容を削除し、rootユーザのルートディレクトリの.bashrcに環境変数を設定をするとうまく動作しました。

分かってみるとすごく単純な事でしたが、1週間近く本気で悩んでました。

今回はどうもありがとうございました。

また何かありましたら宜しく御願い致します。

投稿日時 - 2002-05-10 13:05:42

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

TOMCATを再起動させてもサンプルのJSPは動かないのでしょうか。
あと私の記憶が正しければカーネル2.4以降のlinuxでは1.3.1以降のJDKが推奨されていたと思います。

投稿日時 - 2002-05-09 19:27:54

お礼

回答ありがとうございます。

>TOMCATを再起動させてもサンプルのJSPは動かないのでしょうか。
Tomcatを再起動させてもサンプルのJSPは動きませんでした。

> あと私の記憶が正しければカーネル2.4以降のlinuxでは1.3.1以降のJDKが推奨されていたと思います。
JDKを最新の1.4.0にしたのですが、サンプルのJSPは動きませんでした。

ちなみに環境変数は.bashrcに記述しており、

エラーの内容は
-----------------------------------------------------------------
Error: 500
Location: /examples/jsp/num/numguess.jsp
Internal Servlet Error:

javax.servlet.ServletException: sun/tools/javac/Main
at java.lang.Throwable.fillInStackTrace(Throwable.java:native)
at java.lang.Throwable.(Throwable.java:38)
at java.lang.Exception.(Exception.java:24)
at javax.servlet.ServletException.(ServletException.java:161)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:508)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:325)

Root cause:
java.lang.NoClassDefFoundError: sun/tools/javac/Main
at org.apache.jasper.compiler.SunJavaCompiler.compile(SunJavaCompiler.java:136)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
at org.apache.jasper.servlet.JasperLoader12$1.run(JasperLoader12.java:160)
at java.security.AccessController.doPrivileged(AccessController.java:37)
at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:156)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:258)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:268)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
at org.apache.tomcat.core.Handler.service(Handler.java:287)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
at java.lang.Thread.run(Thread.java:325)

-----------------------------------------------------------------
となっていました。

投稿日時 - 2002-05-09 20:25:28

あなたにオススメの質問