`

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解析异常


分享到:
评论

相关推荐

    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ….. this is incompatible with sq

    总是会出现这样那样的你想不到的问题。崩溃了。首先来罗列一下我遇到过的一些问题吧。 1、大小写敏感 2、连接数超过系统最大连接数 3、Can’t connect to local MySQL server through socket ‘/Data/mydata/mysql....

    INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

    问题:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决:android:sharedUserId="android.uid.system" &lt;uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"/&gt;

    java.io.InvalidClassException local class incompatible 处理方法

    ### Java.io.InvalidClassException Local Class Incompatible 解决方案 在Java序列化过程中,经常会遇到`java.io.InvalidClassException`异常,特别是在序列化类时如果类的版本与反序列化环境中的类版本不一致的...

    format ' x' invalid or incompatible with argument 解决办法

    - 如果上述方法都无法解决问题,建议联系Protel的技术支持团队或加入相关的在线论坛寻求帮助。通常,这些渠道会有经验丰富的工程师或用户能够提供具体的解决方案。 通过上述步骤,大多数情况下都能有效解决...

    EurekaLog_7.5.1.0_Enterprise

    7)....Fixed: (x64 only) Possible crash when using DLL compiled in IDE with incompatible TObject 8)....Fixed: (Low-level CreateThread hook) Possible crash in applications using DLL which changes SSE/...

    TypeError: _queue_reduction(): incompatible function arguments.

    TypeError: _queue_reduction(): incompatible function arguments. The following argument types are supported: 1. (process_group: torch.distributed.ProcessGroup, grads_batch: List[List[at::Tensor]], ...

    Failure [INSTALL_FAILED_CPU_ABI_INCOMPATIBLE]异常处理

    6. **使用Nox App Player或BlueStacks**:如果Genymotion无法解决问题,可以考虑使用基于x86架构的其他安卓模拟器,它们可能更兼容非ARM应用。 综上所述,解决`INSTALL_FAILED_CPU_ABI_INCOMPATIBLE`异常的关键在于...

    format ' x' invalid or incompatible with argument

    ### 错误解析与解决方案:Format ' x' Invalid or Incompatible with Argument 在使用Protel 99进行PCB设计时,可能会遇到“format ' x' invalid or incompatible with argument”这样的错误提示。这一错误通常出现...

    apktool documentation

    compressionType - Used to determine the compression that resources.arsc had on the original apk in order to replicate during [b]uild unknownFiles - Used to record name/location of non-standard files...

    NC(UFIDA)错误帮助文档加强版

    第二节 开发问题集 UI工厂分为哪几大基本模块? 怎样配置eclipse参数? 单据开发涉及哪几大模板? pdm文件数据类型问题 制作单据模板的时候,主表或者子表的字段名显示不出来? 导入数据字典正确,但是在制作单据模板...

    android 添加系统权限 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

    类似地,在android源码树编译也会存在同样的问题,解决方法类似。 或直接把目标系统的签名证书platform.pk8和platform.x509.pem(根据android.mk文件的LOCAL_CERTIFICATE 定义,也可能是shared.pk8、media.pk8等)覆盖...

    protel.99 format '%x' invalid or incompatible with argument打软体报错补丁.rar

    标题中的“protel.99 format '%x' invalid or incompatible with argument打软体报错补丁.rar”指的是Protel 99软件在运行时遇到了一个格式错误,具体表现为使用`%x`格式化字符串与传入的参数不兼容。这通常出现在C/...

    解决:protel 99se :format %x invalid or incompatible with argument问

    3. **专业帮助**:如果以上步骤都无法解决问题,可能需要寻求专业的技术支持或资深用户的帮助。 总的来说,解决这个问题可能需要多方面的尝试和排查,包括检查软件、操作系统、系统环境以及可能的兼容性设置。理解...

    STM32F0xx产品技术培训.rar

    Cortex-M0具有精简指令集,易于实现,并且在性能与功耗之间取得了很好的平衡。 接着,“4.电源控制.pdf”讲解了STM32F0的电源管理系统,包括不同工作模式(如活动模式、睡眠模式、停机模式和待机模式)下的功耗优化...

    Pytorch报错记录

    一、TypeError: _resolve_type_from_object(): incompatible function arguments. The following argument types are supported: 1. (arg0: object, arg1: torch._C._jit_tree_views.SourceRange, arg2: Callable[...

    这里收集了六级的高级词汇

    例句:Being impatient is incompatible with being a good teacher. - 8. mingled: 混合的;例句:Although the colonists to some extent mingled with the Native Americans, the Indians' influence on American...

    Keil的常见编译警告

    6. warning: #167-D:argument of type "uint8_t *" is incompatible with parameter of type "const char *restrict" 这个警告信息表示uint8_t *类型的参数与const char * restrict类型的参数不兼容。在参数传递时...

    butterknife 8.3.0

    butterknife butterknife-annotations butterknife-compiler butterknife-gradle-plugin New: Support for Jack ... Note: The API of this generated code is subject to backwards-incompatible changes until v9.0.

    Android代码-DSBridge-Android

    DSBridge for Android &gt;Modern cross-platform JavaScript bridge, through which you can invoke ... Note that v3.0 is incompatible with v2.0, but v2.0 will continue to maintain. If you are a new user

    INSTALL_FAILED_MISSING_SHARED_LIBRARY 的解决办法

    #### 三、解决问题 1. **更新Google Play服务**: - `com.google.android.maps.jar`通常是作为Google Play服务的一部分提供的,确保设备上安装了最新版本的Google Play服务。 - 前往设置 &gt; Google &gt; Google Play...

Global site tag (gtag.js) - Google Analytics