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

Page tree

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

Skip to end of metadata
Go to start of metadata

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启动时,不会加载插件中跟设计器有关的类,也就找不到这个功能点了。

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


  • No labels

3 Comments

  1. Anonymous

    启动后插件管理器中无法正确显示已安装插件,显示还是0个插件(用另外的设计器打开工程目录切换过来是能正常显示已安装插件的)

  2. Anonymous

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

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

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


    这个具体怎么操作

    1. 就是有些类是在设计器里面加载的,部署之后不会运行了。

      设计器加载的都是designer标签下面的,你找个其他标签下面的类就行了。