- ベストアンサー
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のコンパイラ、サーブレットのコンパイラを設定しているのですが、設定に何か足りないのでしょうか? 大変困っています。 もし、何か分かる事がありましたら、ご教授御願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Tomcatのバージョンは何番でしょうか? java.lang.NoClassDefFoundError: sun/tools/javac/Main となっていますので、何らかの原因で、tools.jarへのCLASSPATH の設定が無効になっているのだと思います。
その他の回答 (1)
- jakarta
- ベストアンサー率38% (607/1597)
TOMCATを再起動させてもサンプルのJSPは動かないのでしょうか。 あと私の記憶が正しければカーネル2.4以降のlinuxでは1.3.1以降のJDKが推奨されていたと思います。
お礼
回答ありがとうございます。 >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) ----------------------------------------------------------------- となっていました。
お礼
問題解決しました! 環境変数を今まで、rootユーザではルートディレクトリ内の.shrc、一般ユーザではルートディレクトリの.bashrcに設定しており、 rootユーザでルートディレクトリの.shrcの内容を削除し、rootユーザのルートディレクトリの.bashrcに環境変数を設定をするとうまく動作しました。 分かってみるとすごく単純な事でしたが、1週間近く本気で悩んでました。 今回はどうもありがとうございました。 また何かありましたら宜しく御願い致します。