--------------------------------------------------------------------------------type Exception reportmessage 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)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.这问题已经搞了几天了
一开始我还以为是我的机的问题
几天重装系统后还是这样?
高手帮帮我啊!

解决方案 »

  1.   

    Perhaps JAVA_HOME does not point to the JDK你怎么安装和设置的?
      

  2.   

    你的 JAVA_HOME指的JAVA路径估计是不对。
      

  3.   

    先把你的JAVA_HOME打出来看看。
      

  4.   

    我的JDK安装在C:\Program Files\Java\jdk1.5.0
    在C:\Program Files\Java\下还有jre1.5.0
    我的JAVA_HOME为C:\Program Files\Java\jdk1.5.0
      

  5.   

    Program Files中间的空格,JDK尽量安装在根目录下
      

  6.   

    环境变量设置的时候还要注意路径后面的分号问题:
    lib变量的设置:C:\Program Files\Java\jdk1.5.0\lib;(加分号)
    path变量的设置:C:\Program Files\Java\jdk1.5.0\bin;(加分号)
    你的JAVA_HOME设置正确,C:\Program Files\Java\jdk1.5.0后面不加分号。
    如果你用到servlet的时候,这个包一般默认找不到,也需要弄一个放到lib文件夹下,然后在环境变量中添加classpath:C:\Program Files\Java\jdk1.5.0\servlet.jar;(加分号)
      

  7.   

    JAVA_HOME设置好了以后,在一个Dos窗口中输入java和javac命令可以得到相应的信息,如果没有说明设置好JAVA_HOME环境变量
      

  8.   

    我把JDK安装在根目录下了并且相应地改了JAVA_HOME,还是出现说
    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晕
      

  9.   

    一些java软件遇到路径中有空格会不正常,设置JAVA_HOME=c:\progra~1\java\jdk1.5.0看看。
      

  10.   

    JAVA_HOME设置好了以后,在一个Dos窗口中输入java和javac命令可以得到相应的信息,如果没有说明设置好JAVA_HOME环境变量
    我在控制台下输入java和javac都可以得到相应的信息啊
      

  11.   

    一些java软件遇到路径中有空格会不正常,设置JAVA_HOME=c:\progra~1\java\jdk1.5.0看看。我把JDK安装在C:\java\jdk1.5.0
    然后把JAVA_HOME改为C:\java\jdk1.5.0也不行狂晕中
      

  12.   

    你是不是在 控制面板->系统->高级->环境变量 里面设置的JAVA_HOME?打开一个命令提示符窗口,执行“echo %JAVA_HOME%”命令,看看是不是列出你设置的JAVA_HOME路径。
      

  13.   

    修改了JAVA_HOME设置,为了使新的JAVA_HOME起作用,要重启动你的服务器,如果你是开了一个命令提示符窗口,然后在里面执行启动服务器的脚本,你必须停掉服务器,然后在另一个命令提示符窗口中重新启动服务器。
      

  14.   

    你是不是在 控制面板->系统->高级->环境变量 里面设置的JAVA_HOME?打开一个命令提示符窗口,执行“echo %JAVA_HOME%”命令,看看是不是列出你设置的JAVA_HOME路径。
    我是在我的电脑-〉属性-〉高级-〉环境变量 里面设置的JAVA_HOME
    我打开命令提示符窗口,执行“echo %JAVA_HOME%”命令,
    显示的是:C:\java\jdk1.5.0
      

  15.   

    我所有的环境变量的设置在下面所示:
    java_home 
    C:\java\jdk1.5.0classpath 
    .;%java_home%\lib\dt.jar;%java_home%\lib\htmlconverter.jar;%java_home%\lib\tools.jar;%catalina_home%\common\lib\servlet.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;  catalina_base C:\Tomcat 5.0
    catalina_home C:\Tomcat 5.0 path 
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%java_home%\bin;C:\Program Files\Microsoft SQL Server\80\Tools\BINN tomcat_home 
    C:\Tomcat 5.0  jdbc_home
    C:\Program Files\Microsoft SQL Server
      

  16.   

    安装tomcat时要指定正确的jdk目录.如果指定不正确就会出现这个问题.另外如果环境变量没有设置好也不行.还有你的tomcat版本太旧了,干脆换最新的吧,这样不用为它设环境变量.新旧版本差别很大的.