Tomcat5中JSP页面不能编译问题的解决

在一台已经装好Tomcat5的服务器上发布我的JSP页面的时候,出现了页面不能编译的错误,详细显示如下:
 
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

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:434)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
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:402)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:492)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:471)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:459)
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.29 logs.


--------------------------------------------------------------------------------
可 是我在自己的机器上安装Tomcat5的时候却没有碰到这样的问题,根据提示的信息,我估计是JDK环境设置得不对,于是我进入Tomcat5的安装目 录,再进入bin目录,双击tomcat5w.exe,因为tomcat5w.exe是用来配置Tomcat运行环境的,我找了好一会,终于找到了问题的 所在,在Java标签的Java Classpath这一项里面,有一个C:\Program Files\Java\j2re1.4.2_03\lib\tools.jar项,在jdk里面tools.jar是用来执行编译任务的,而C: \Program Files\Java\j2re1.4.2_03\lib\tools.jar根本就不存在,我估计是安装的时候将jdk误设为C:\Program Files\Java\j2re1.4.2_03所致,实际上,C:\Program Files\Java\j2re1.4.2_03根本就不是jdk,而是Java运行环境,或者叫jre,我将C:\jdk1.4.2_03\lib \tools.jar替换,问题就解决了。
 
   很多人初学Java的人搞不清楚什么是JDK,什么是JRE,其实通俗一点讲,JDK就是既能编译Java源文件又能运行Java程序的一个东西,而 JRE是JDK的一部分,他只能运行Java程序,不能编译Java源文件。大部分的Java相关的软件,只需要有能够运行Java程序的环境就行了,而 Tomcat不一样,因为Tomcat需要将JSP进行编译,所以需要JDK,在安装Tomcat时,选择运行环境时一定要注意这一点。

转载于:https://www.cnblogs.com/xinxinbb/archive/2010/03/04/1678421.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值