“org.apache.jasper.JasperException: Unable to compile class for JSP”
http://www.matrix.org.cn/thread.shtml?topicId=24399&forumId=17
我也遇到了这样的问题.
跟踪了一下, 原来是java.home指到$JAVA_HOME/jre下了.
而其lib下的
tools.jar跟$JAVA_HOME/lib/tools.jar不一样,
编译jsp的时候需要用到后者.
应此需要在启动
tomcat的时候让jvm知道tools.jar的位置就可以了.
注: java.home在运行的时候就会指向$JRE_HOME.
jdk
1.4.2_06-b03
jdk 1.5.0_05-b05
都会出现这种情况.
修改例子:
ant:
增
加
<property environment="env" />
然后在启动tomcat的时候
把<pathelement location="${java.home}/lib/tools.jar" />
改为:
<pathelement location="${env.JAVA_HOME}/lib/tools.jar" />
就可以了.
eclipse:
windows
-> preference -> tomcat -> jvm settings -> boot classpath
中加入你的
JAVA_HOME/lib/tools.jar就可以了.
不知道sun这样做的原因是什么.
http://www.cnblogs.com/zhengyun_ustc/archive/2005/06/14/174348.html
[Java]Axis 需要高版本的J2sdk: j2sdk-1_4_2_08
Posted on 2005-06-14 17:47 让变化成为计划的一部分 阅读(1173) 评 论(1) 编 辑 收 藏 收 藏至365Key 所属分类: 杂项[Java]Axis 需要高版本的 J2sdk: j2sdk-1_4_2_08
编写者 |
日期 |
关键词 |
郑昀 @ultrapower |
2005-6-14 |
Java Web Service Axis Tomcat j2sdk |
现象
按照 Install Axis 的详尽步骤依次安装了 axis-bin-1_2 、 Tomcat 5.0 ,也按照要求复制相应的 lib 文件到 Tomcat 目录下。
但是,当重新启动 Tomcat 后,浏览 http://localhost:8080/axis/ , 却得到了如下错误“ org.apache.jasper.JasperException: Unable to compile class for JSP ”,如下表所示:
错误页面提示: |
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
No Java compiler was found to compile the generated source for the JSP.
This can usually be solved by copying manually $JAVA_HOME/lib/tools.jar from the JDK
to the common/lib directory of the Tomcat server, followed by a Tomcat restart.
If using an alternate Java compiler, please check its installation and access path.
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:83)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:315)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:406)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:463)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)
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:810)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.25 logs.
|
反复调整什么系统变量,都没有用。在 GooglGroup 上 查询,也没有解决办法。
解决办法
原先安装的是 j2sdk-1_4_1_02-windows-i586
最开始安装的是 j2sdk-1_4_1_02-windows-i586.exe , 看页面的提示,就把 tools.jar 复制到 tomcat 目录下,还是不行。
最终安装了 j2sdk-1_4_2_08-windows-i586-p.exe :
把原来的 j2sdk 卸载,安装了最新的 j2sdk-1_4_2_08-windows-i586-p.exe 。并没有设置什么 AXIS_HOME 、 AXIS_LIB 等 系统变量,只要把这个版本的 D:/j2sdk1.4.2_08/lib/Tools.jar 复制到 D:/Tomcat 5.0/common/lib 下, 重启动 Tomcat ,就可以浏览 Axis 了。
并且以前发布的 web service ,也可以正常 浏览了。