环境(eclipse ,tomcat5.0)中出现错误:HTTP Status 500,帮助!!

htyy521 2007-09-24 05:48:22
在eclipse下建了一个简单的jsp测试文件,测试如下:http://localhost:8008/tomcat_test/HelloJsp.jsp(由于8080被oracle占了,因此在 Tomcat中改了一下文件server.xml,端口改为8008)

返回如下的信息:
HTTP Status 500 -
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)
应该是java配置的问题,下面是我的配置,有问题吗?
jdk路径: D:\Program Files\Java\jdk1.5.0_09,其下有bin等文件夹
配置信息:
JAVA_HOME: D:\Program Files\Java\jdk1.5.0_09
PATH:%JAVA_HOME%\bin
CLASSPATH: .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre;D:\Program Files\Apache Software Foundation\Tomcat 5.0\common\lib\servlet-api.jar
TOMCAT_HOME: D:\Program Files\Apache Software Foundation\Tomcat 5.0


...全文
303 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
htyy521 2007-09-29
  • 打赏
  • 举报
回复
问题解决了,谢谢各位了。
原因如下,也是在网上发现的:
安装tomcat的时候指定了jre的路径,导致tomcat_home, java_home都已经添加到了环境变量里,但启动jsp的时候却出现了以下的异常:
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

产生的原因是java.home指到$JAVA_HOME/jre下了,而其lib下的tools.jar跟$JAVA_HOME/lib/tools.jar不一样,编译jsp的时候需要用到后者.

注: java.home在运行的时候就会指向$JRE_HOME.
jdk 1.4.2_06-b03
jdk 1.5.0_05-b05
jkd 1.5.0_09
都会出现这种情况.

修改方法:在tomcat控制台(双击tomcate5w.exe)java选项-〉java virtual machine
设置为%java_home%\jre\bin\server\jvm.dll
tomcat控制台java选项-〉Java classpath:
%tomcat_home%\bin\bootstrap.jar;%java_home%\lib\tools.jar
注:%java_home%、%tomcat_home分别指jdk、tomcat的安装根目录。

简单的说:在Java classpath添加
;%java_home%\lib\tools.jar即可!!
htyy521 2007-09-26
  • 打赏
  • 举报
回复
下面是server.xml中的信息:
<Connector port="8008" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
aqy_19781228 2007-09-26
  • 打赏
  • 举报
回复
server.xml的内容写出来看看
for_cyan 2007-09-26
  • 打赏
  • 举报
回复
有可能是环境问题
tomcat的版本和jdk不匹配,如果确定你的环境变量不错
hkhkhkk 2007-09-26
  • 打赏
  • 举报
回复
不会,帮你顶一下.

62,623

社区成员

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

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