# Tomcat 5 vernünftig konfigurieren - JSP



## micbur (6. Aug 2004)

Hallo, 

ich habe ein kleines Problem. Vor einiger Zeit hatte ich den Tomcat schonmal installiert, allerding die Version 4. Nun habe ich den Tomcat wieder drauf (nach Systemneuinstallation), aber Version 5. Und irgendwie laufen meine alten JSP-seiten nicht mehr. 

Ich kann leider nicht so viel mit Tomcat und JSP, weil ich das ja alles erst lernen wollte. 
Also der Tomcat ist installiert und läuft. 
Ich kann die Startseite des Tomcat sehen und die Beispiel JSP-Seiten laufen. 

Aber meine Seiten laufen nicht. 

Fehlermeldung: 
"unable to find a javac compiler;
Perhaps JAVA_HOME does not point to the JDK"

Ich habe auf meinem System eine normale Java SDK Installation auf C:\Programme\Java J2SE, selbstständig hat die Installation noch ein Verzeichnis C:\Programme\Java\j2re1.4.2_05 angelegt. 

Es gibt mehrere java.exe: 
C:\Programme\Java J2SE\bin\java.exe
C:\Programme\Java J2SE\jre\bin\java.exe
C:\Programme\Java\j2re1.4.2_05\bin\java.exe

es gibt aber nur eine javac.exe
C:\Programme\Java J2SE\bin\javac.exe

JAVA_HOME zeigt auf C:\Programme\Java J2SE\. So geht es aber nicht. Die beiden anderen Verzeichnisse habe ich auch schon durch. 
Es ist auch egal, ob ich meine JSP-Seiten in ein eigenes Verzeichnis unter %TOMCAT%\webapps\meinejsps\tolleseite.jsp oder ob ich einfach das eigene Verzeichnis vom Tomcat nutzer %TOMCAT%\webapps\ROOT\tolleseite.jsp


Nun komme ich nicht weiter. Hatte jemand diesen blöden Fehler schonmal?
Google spuckt auch keine brauchbaren Ergebnisse aus. 

Ciao micbur




PS: Die Fehlermeldung wäre sinnvoller, wenn ich wüsste, wo Tomcat nach der javac.exe sucht, denn dann kann ich entweder mein JAVA_HOME ändern, oder die Config vom Tomcat. Aber ich bekomme nur die Fehlermeldung, dass er javac.exe nicht gefunden hat.


----------



## akira (6. Aug 2004)

Hi, die Umgebungsvariable JAVA_HOME zeigt immer auf das root-Verzeichnis der JDK-Installation.



> JAVA_HOME zeigt auf C:\Programme\Java J2SE\



Nimm mal den letzten Backslash raus,dann sollte es klappen.


----------



## micbur (7. Aug 2004)

neee, hilft nicht. Ich habe das Java SDK neu installiert und ein Verzeichnisnamen ohne Leerzeichen gewählt. Das half aber auch nicht. 

Ciao micbur


====
Nachtrag: 
vielleicht kann ja jemand etwas mit der genauen Fehlermeldung anfangen:
---

```
HTTP Status 500 -
type Exception report
description The server encountered an internal error () that prevented it from fulfilling this request.
exception

org.apache.jasper.JasperException: Unable to compile class for JSP
	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:346)
	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:414)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
	org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
	org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:935)
	org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:764)
	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:382)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
```
---



*=== 
noch ein Nachtrag: 
Vielleicht mache ich etwas Grundsätzliches falsch. 
kann mir jemand vielleicht in kurzen Stickpunkten sagen, was er macht, wenn er eine JSP-Seite für ein neues Projekt - oder so - erstellt? Also da fängt man ja meist in einem leerem Verzeichnis an. 


Ciao micbur*


----------



## Beliar (7. Aug 2004)

mit jsp und tomcat (überhaupt mitz EE java) hab ich zar noch nix gemacht, aber reicht da das j2se sdk wirklich? braucht man nicht (auch?) das j2ee sdk??


----------



## DP (7. Aug 2004)

@Painkiller: nöh.

@qmicbur: geh mal bitte in die console und poste mal deinen set.

dann schauen wir weiter..

hast du *catalina_home* gesetzt?


----------



## micbur (7. Aug 2004)

@db: 
ja, CATALINE_HOME ist gesetzt. 
nein, mein set kann ich dir nicht einfach mal so posten, das sind eine ganze Menge und ich arbeite unter Windows momentan und da würde jeder Übertrag aus dem kleinen Fenster lange dauern und den Befehl für die Konsole unter Windows kenne ich nicht, env oder set sind es nicht ;-)

Kann ich sonst noch was zeigen/sagen/machen?


Ciao micbur


----------



## der_micbur (9. Aug 2004)

Hallo hallo, 


ich habe das Problem gelöst. 
Also: 

man muss einfach nur die %JAVA_HOME%\lib\tools.jar nach %CATALINA_HOME\common\lib\ kopieren. 
Dann geht es wieder. 

Ich habe es dann doch schließlich über google.de gefunden. Hast aber lange gedauert. 
Link: http://www.junlu.com/msg/13312.html

Ciao micbur


----------

