求助:为何我设置了JAVA_HOME后换会出现这样的问题啊?

hqlsy2005 2005-11-13 03:18:39
--------------------------------------------------------------------------------

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: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.

这问题已经搞了几天了
一开始我还以为是我的机的问题
几天重装系统后还是这样?
高手帮帮我啊!
...全文
368 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
eliry 2005-11-13
  • 打赏
  • 举报
回复
安装tomcat时要指定正确的jdk目录.如果指定不正确就会出现这个问题.另外如果环境变量没有设置好也不行.还有你的tomcat版本太旧了,干脆换最新的吧,这样不用为它设环境变量.新旧版本差别很大的.
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
我所有的环境变量的设置在下面所示:
java_home
C:\java\jdk1.5.0

classpath
.;%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
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
你是不是在 控制面板->系统->高级->环境变量 里面设置的JAVA_HOME?

打开一个命令提示符窗口,执行“echo %JAVA_HOME%”命令,看看是不是列出你设置的JAVA_HOME路径。


我是在我的电脑-〉属性-〉高级-〉环境变量 里面设置的JAVA_HOME
我打开命令提示符窗口,执行“echo %JAVA_HOME%”命令,
显示的是:C:\java\jdk1.5.0
hugebrush 2005-11-13
  • 打赏
  • 举报
回复
修改了JAVA_HOME设置,为了使新的JAVA_HOME起作用,要重启动你的服务器,如果你是开了一个命令提示符窗口,然后在里面执行启动服务器的脚本,你必须停掉服务器,然后在另一个命令提示符窗口中重新启动服务器。
hugebrush 2005-11-13
  • 打赏
  • 举报
回复
你是不是在 控制面板->系统->高级->环境变量 里面设置的JAVA_HOME?

打开一个命令提示符窗口,执行“echo %JAVA_HOME%”命令,看看是不是列出你设置的JAVA_HOME路径。
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
一些java软件遇到路径中有空格会不正常,设置JAVA_HOME=c:\progra~1\java\jdk1.5.0看看。

我把JDK安装在C:\java\jdk1.5.0
然后把JAVA_HOME改为C:\java\jdk1.5.0也不行

狂晕中
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
JAVA_HOME设置好了以后,在一个Dos窗口中输入java和javac命令可以得到相应的信息,如果没有说明设置好JAVA_HOME环境变量


我在控制台下输入java和javac都可以得到相应的信息啊
hugebrush 2005-11-13
  • 打赏
  • 举报
回复
一些java软件遇到路径中有空格会不正常,设置JAVA_HOME=c:\progra~1\java\jdk1.5.0看看。
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
我把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

jupiterwang 2005-11-13
  • 打赏
  • 举报
回复
JAVA_HOME设置好了以后,在一个Dos窗口中输入java和javac命令可以得到相应的信息,如果没有说明设置好JAVA_HOME环境变量
Mr_IT 2005-11-13
  • 打赏
  • 举报
回复
楼上提到的空格问题,也有这种可能。这些设置有许多比较细节的东西,比较麻烦。
Mr_IT 2005-11-13
  • 打赏
  • 举报
回复
环境变量设置的时候还要注意路径后面的分号问题:
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;(加分号)
jimshen 2005-11-13
  • 打赏
  • 举报
回复
Program Files中间的空格,JDK尽量安装在根目录下
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
什么空格?
不是很明白
bohemia 2005-11-13
  • 打赏
  • 举报
回复
最好把空格去掉.这样可能解决...因为空格有时候会引起问题.
hqlsy2005 2005-11-13
  • 打赏
  • 举报
回复
我的JDK安装在C:\Program Files\Java\jdk1.5.0
在C:\Program Files\Java\下还有jre1.5.0
我的JAVA_HOME为C:\Program Files\Java\jdk1.5.0
hugebrush 2005-11-13
  • 打赏
  • 举报
回复
先把你的JAVA_HOME打出来看看。
美丽勇气 2005-11-13
  • 打赏
  • 举报
回复
你的 JAVA_HOME指的JAVA路径估计是不对。
jimshen 2005-11-13
  • 打赏
  • 举报
回复
Perhaps JAVA_HOME does not point to the JDK

你怎么安装和设置的?

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧