The return type is incompatible with JspSourceDependent.getDependants():JasperException问题分析与解决方法...

Linux下基于JSP的报表集成到项目中后,显示不出来,查看tomcat的日志,有如下报错信息:


The return type is incompatible with JspSourceDependent.getDependants()

Stacktrace:] with root cause
org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: [33] in the generated java file: [/home/programs/apache-tomcat-PowerSupervise/work/Catalina/localhost/PowerSupervise/org/apache/jsp/reportPages/jspReport/fileRecordReport_jsp.java]

大致就是生成的JSP对应的java文件33行报错,解析错误,找到对应的java文件中相应代码,如下:

package org.apache.jsp.reportPages.jspReport;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class fileRecordReport_jsp extends org.apache.jasper.runtime.HttpJspBase
   <strong> implements org.apache.jasper.runtime.JspSourceDependent</strong> {

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  static {
    _jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(1);
    _jspx_dependants.put("/WEB-INF/reportConfig/runqianReport4.tld", Long.valueOf(1435203638000L));
  }

  private org.apache.jasper.runtime.TagHandlerPool _005fjspx_005ftagPool_005freport_005fhtml_0026_005fwidth_005fseparator_005fselectText_005fscrollWidth_005fscrollHeight_005fscale_005freportFileName_005fparams_005fneedScroll_005fname_005ffuncBarLocation_005fexceptionPage_005fnobody;

  private javax.el.ExpressionFactory _el_expressionfactory;
  private org.apache.tomcat.InstanceManager _jsp_instancemanager;
<strong>
  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    return _jspx_dependants;
  }</strong>


网上搜了搜,大部分原因是由于这个JspSourceDependent类冲突引起的,不过找遍所有WEB-INF/lib和tomcat下的lib以及jre中下有关jsp解析的jar包,除tomcat的lib下,没发现有类似版本不同重复的jar包,于是在集成开发环境ECLIPSE中打入这个类,居然能找到这个类,提示自动引入后,如下:

然后ctrl键盘按住,点击这个类,终于找到了这个类所在的jar包及路径了,如下:

居然在jetty-server-8.1.8.jar里也有此类,怪不得呢,于是删除了此类,报表恢复正常了。

网上也如下情况出现此问题:

1、jsper-runtime.jar存在冲突,删除即可。

2、在升级tomcat后的项目中,后出现此问题,解决办法是新建jsp文件,把老jsp文件的内容copy过来,就解决了。不过这是网友的解决方法,针对这种情况,个人之见,根本原因还是jar包版本与旧的已生成的_jsp.java类中的类存在冲突,只需把tomcat的work目录下的东西删除重启tomcat用新的环境重新解析JSP即可。

JasperException问题与解决办法,the return type is incompatible with,JspSourceDependent.getDependants(),jsper.jar冲突,JSP解析异常


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值