【仅供内部供应商使用,不提供对外解答和培训】
| Table of Contents |
|---|
通过前面三节教程,我们已经成功的开发了第一个插件。但是假设插件没有按照我们预期那样的工作,我们需要怎么办呢?当然是进行插件调试。
因为在插件的Gradle配置文件中,我们已经配置好了插件的class编译目录,因此在启动设计器的时候,我们选择Debug模式即可进行插件调试
关键配置:在plugin-function的Gradle配置中,包含了class编译的目录描述
| Code Block | ||
|---|---|---|
| ||
ext {
outputPath = "$projectDir/../webroot/WEB-INF/plugins/plugin-" + pluginName + "-1.0/classes"
} |
需要注意的是
1、plugin-com.fr.plugin.function.test-1.0中间的部分,必须保持和插件id相同,才能在开发时让插件正确的生效;
2、如果插件依赖了其他第三方jar包(包括finekit),需要将这些依赖的jar包也拷贝到plugin-com.fr.plugin.function.test-1.0目录下。
插件home指环境下plugins文件夹中以【"plugin-" + 插件ID + "-" +插件版本号】命名的文件夹,如:plugin插件版本号】命名的文件夹,如:plugin-com.fr.plugin.chart.vancharts-8.5.3
调试时,需要将插件的plugin.xml复制到插件home中,并将插件的编译output path设置为插件home/classes文件夹。如插件有自定义的lib,也要复制到插件home下。
如:
有些时候,多个插件同属一个module,无法区分编译路径。这时可以将整个module都编译到环境plugins/debug/classes下,插件引擎会检测是否是debug模式以及当前插件的ClassPath,如果是debug,并且当前插件没有classPath,则将这个路径作为该插件的classPath.
...
注意2:不要将插件编译到报表的ClassPath下,否则会导致部分依赖于插件类加载器的特性出问题。
...
方式一:添加启动参数 -Dfine.plugin.home="/Users/juhaoyu/finereport/finereport-release-10.0/env/webroot/WEB-INF/plugins" 指定插件根目录:
...
方式二:添加启动参数-Duser.dir="/Applications/FineReport10/bin" 指定一个安装目录(推荐,支持9.0)
在发布9.0之前会将自动转化8.0插件环境到9.0的功能集成到更新升级插件中,在这之前还需要手动去搭建。
修改过程如下:
1、创建一个插件home文件夹,命名规则如上。将对应的plugin.xml复制到这里
2、在WEB-INF/lib下找到对应的插件jar包,移动到插件home中。如果是通过插件管理安装的话,这些jar的名字应该是【"plugin-" + 插件ID + "-*"】,如:plugin-com.fr.plugin.chart.vancharts-0.jar、plugin-com.fr.plugin.chart.vancharts-1.jar
3、安装新的插件管理脚本:下载附件,解压到WebReport文件夹下。
此外,可以直接删除原来的插件,重新用9.0的插件管理去重新安装。记得删干净插件的jar包。
| View file | ||||
|---|---|---|---|---|
|
已发现存在兼容问题的插件:
图表插件:需等待代码合并,重新打包
性能插件:使用9.0性能插件
OEM插件:待处理