我装的tomcat 5.028运行不了jsp页面 但tomcat自带的例子可以运行 tomcat欢迎页面也没问题 但运行我自己的jsp页面就显示 jdk也装好的 谁告诉我怎么回事啊
 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:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:497)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
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:105)
org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:929)
org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:758)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:407)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:497)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:476)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:464)
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.30 logs.

解决方案 »

  1.   

    环境变量classpath设置错误了,原因是系统里还有其他的程序也在环境变量中设置不同版本的jdk。正确的是.;/jdk安装目录/lib;zai在最前面。
      

  2.   

    对,楼上得老兄说得对,你得好好看看你得环境变量,比如java_home,classpath,path等,当然这样你检查一边,在确定无误后,肯定应该运行没问题了
      

  3.   

    是吗 我记得tomcat 5.0以上的版本可以不要设置classpath 我以前就这样配置都行
      

  4.   

    我第一次安装时也出现过这样的问题.到
    http://hi.baidu.com/seazhn%B5%C4%C9%FA%BB%EE%C7%F8
    这里看一下我总结的解决方案
      

  5.   

    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
            ^^^^^^^^^                       ^^^^
      

  6.   

    环境变量:java_home  
    TOMCAT没找到JDK
      

  7.   

    没用啊 我什么都试了啊 以前配的时候 把tomcat装好就可以用 不要设置的  晕啊
      

  8.   

    最简单的一个输出页面也不行?肯定是环境问题,你装了几个JDK?如何配置的?
      

  9.   

    把tomcat 5.0卸载,换个新的就行了.
      

  10.   

    你的机器中有2个以上不同版本的jdk,而且低版本的jdk在高版本之前被找到,就会出现你所述的情况,并不是没有找到jdk,而是找到了一个低版本的。解决的方法就是在classpath中把你使用的那个版本放在最前面
      

  11.   

    原因可能是在你安装tomcat以前,没有配置jdk,安装以后,tomcat找不到jdk,你可以手动将tomcat的jdk指向你的jdk路径。运行你的..\bin\tomcat5.exe,有一个选项可以设置jdk路径的
      

  12.   

    原因是由于JAVA_HOME环境变量未设置
    TOMCAT自带程序能运行是由于它自带的程序其实已经编译为servlet,并映射成了JSP的路径,你可以从web.xml中看到
      

  13.   

    不过EXE版的TOMCAT不需要设置环境变量,而且它只需要JRE,ZIP版的TOMCAT就必须指定环境变量,而且必须安装的是JDK,光JRE不行。