zoukankan      html  css  js  c++  java
  • “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

    编写者

    日期

    关键词

    郑昀 @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 ”,如下表所示:

    错误页面提示:

    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
    
    
     
    
    
    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 ,也可以正常 浏览了。

  • 相关阅读:
    【JAVA基础】private 的使用
    【nginx】配置文件(模块、反向代理、负载均衡、动静分离)
    【Nginx】命令行安装
    【UNIAPP】websocte实现,功能:指定房间聊天,匿名进入 功能,文字与图片
    【前端JS】input对象图片在线转base64
    【UNIAPP】上传视频,进度条的前台与后端
    【IO阻塞异步】协程使用异步,异步爬虫,异步数据库操作
    【装饰器】原理以及基础使用
    可编程网络DataPath 及XDP
    gitlab 代码协作流程
  • 原文地址:https://www.cnblogs.com/y0umer/p/3839415.html
Copyright © 2011-2022 走看看