ich möchte eine JSP (J2EE SDK 1.3.1) im Browser über
Tomcat-4-Standalone laufen lassen. Ich habe Tomcat gestartet und wenn
ich ein JSP-Beispiel von der index-Seite aufrufen will, kommt folgende
Fehlermeldung. Ein Servlet kann ich ausführen. Es muß m.E. an der
Umsetzung von der JSP in ein Servlet liegen! Mit der Fehlermeldung
kann ich nur leider überhaupt nichts anfangen. Ihr vielleicht?
Danke und Gruß
Sandra
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: sun/tools/javac/Main
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:484)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:484)
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:272)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:551)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:484)
Prüfe mal die Einstellung Deiner JAVA_HOME-Variable
Unter Win einstellen über Systemsteuerung -> System -> Erweitert ->
Umgebungsvariablen
Muss auf das Elternverzeichnis von bin zeigen.
> java.lang.NoClassDefFoundError: sun/tools/javac/Main
> Hallo,
>
> ich möchte eine JSP (J2EE SDK 1.3.1) im Browser über Tomcat-4-Standalone
> laufen lassen. Ich habe Tomcat gestartet und wenn ich ein JSP-Beispiel von
> der index-Seite aufrufen will, kommt folgende Fehlermeldung. Ein Servlet
> kann ich ausführen. Es muß m.E. an der Umsetzung von der JSP in ein
> Servlet liegen! Mit der Fehlermeldung kann ich nur leider überhaupt
> nichts anfangen. Ihr vielleicht?
>
> root cause
>
> java.lang.NoClassDefFoundError: sun/tools/javac/Main
Sieht aus, als fände Tomcat das JDK nicht. Da JSPs vor der Anzeige zu
Servlets transformiert und übersetzt werden, ist das JDK mit dem javac
zwingend notwendig, ein JRE reicht nicht aus.
--
Christoph Dahlen
http://www.dahlen.org/
> Hallo,
>
> ich möchte eine JSP (J2EE SDK 1.3.1) im Browser über
> Tomcat-4-Standalone laufen lassen. Ich habe Tomcat gestartet und wenn
> ich ein JSP-Beispiel von der index-Seite aufrufen will, kommt folgende
> Fehlermeldung. Ein Servlet kann ich ausführen. Es muß m.E. an der
> Umsetzung von der JSP in ein Servlet liegen! Mit der Fehlermeldung
> kann ich nur leider überhaupt nichts anfangen. Ihr vielleicht?
als kleine Ergänzung zu den anderen Aussagen:
Der Compiler steckt im JDK in lib/tools.jar.
V 4.1.x von Tomcat bringt tools.jar im common/lib dir. mit
gerhard
Danke für Eure Tipps! :-)
Bei mir ist beim Tomcat kein tools.jar zu finden. Ich habe es von jdk
nach tomcat/common/lib kopiert. Bringt aber nichts!
Ich habe auch die Umgebungsvariablen kontrolliert. Sieht alles ok aus!
JAVA_HOME: ...\jdk1.3
CLASSPATH: ...\jdk1.3\lib\tools.jar
Und jetzt? Habt Ihr noch eine Idee?
Gruß, Sandra
1) Tomcat ignoriert den Classpath.
2) Probiers mal mit einer Neuinstallation von Tomcat (Bei einem Kollegen,
der die gleich Fehlermeldung wie du bekam, hat es gewirkt).
Georg