【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

XXX cannot be cast to com.fr.plugin.basic.Closeable 

插件引擎会修改plugin.xml中描述的类,为其添加Closeable接口辅助热部署。出现这个是由于未能成功的添加接口。可能的原因有两个,逐一排查即可:

  • 引擎默认只处理com.fr.plugin(10.0插件)包下的类,如果plugin.xml中的类不在这个包下,则需要指定<main-package>标签
  • 这个类被上层类加载器加载了,比如有遗留的class或jar包还在报表的classpath下,由于双亲委派机制,会优先从报表中加载,导致插件引擎无法处理这个类。
  • 如果是代码启动的,首先检查插件的编译路径,然后检查是否有报表模块依赖了插件模块(8.0常见的调试方式),如果依赖的话,也会导致报表的classLoader先加载插件类。

 

其他的XXX初始化插件对象失败 

部分接口有变动,可能造成插件的不兼容,例如:

  • FRContext.getLogger()接口变动:8.0中返回的是FRLogger,10.0返回FRLoggerProvider。如果用8.0打包插件,则在10.0中会报找不到这个方法,修改为FRLogger.getLogger()即可。

在设计器上运行正常,放到tomcat上启动插件时报“监测到插件没有功能点记录,无法运行”

tomcat启动时,不会加载插件中跟设计器有关的类,也就找不到这个功能点了。

解决办法:把功能点记录放到服务器相关的类上。