1. 概述
用户通过 Java 类代码进行Finereport 二次开发,实现某些功能时,通常需要编译 Java文件,生成 Class 类,如在程序数据源、程序报表、自定义函数、自定义后台导出、自定义打印的应用中都需要 Class 类。那在进行二次开发时,如何编译 Java文件,需要哪些准备工作呢?本文将详细讲述。
2. 准备编译环境
2.1 准备工程
编译程序前,用户首先需要有一个Java工程环境,并且需要一个 Java 编辑器,如 Eclipse 或 Idea 。若没有现成的 Java工程环境,可以通过编辑器新建一个 Java工程,如下图所示,通过 Idea 编辑器新建一个工程。
注:新建工程时,依赖的 jdk 版本不宜太高,jdk 1.8即可。
2.2 引入JAR包
编译程序前,还需要在工程中引入一些必要的 JAR 包,必要的 JAR包主要有两类, FineReport 工程 JAR 包和编译此程序还需要的第三方 JAR 包。FineReport 工程 JAR 包必须引入,第三方 JAR 包根据实际场景要求添加,若无相关要求则不用添加。
2.2.1 FineReport工程JAR包
需要导入的 FineReport 工程 JAR 包,包括用户自己的报表工程%FR_HOME%/lib下面的所有的包,%FR_HOME%/server/lib下面的所有包,%FR_HOME%/webapps/webroot/WEB-INF/lib下面的所有包,还需要要引入 JDK 的 tools.jar。
如下图所示,通过 Idea 编辑器给新建一个工程JavaIda 引入以上几个必要包。
2.2.2 引入第三方JAR包
如需引用第三方 JAR 包,可按此步骤引入,如无需引入,忽略此步骤。
引入第三方 JAR 包主要有两种方式。
1)下载第三方 JAR 包后,将 JAR 包放在 %FR_HOME%\webapps\webroot\WEB-INF\lib 目录下,即和 FineReport 提供的 fine-decision-10.0.jar 同一个目录,引入FineReport 工程 JAR 包时一起引入。
2)下载后放在某个目录下,引入即可。如下图所示,通过 Idea 编辑器给工程 JavaIda 引入第三方 JAR 包 slf4j-simple-1.7.25。
3. 编译Java文件
编译环境准备好后,便可编写和编译 Java 文件。
3.1 编写Java文件
在编辑器中新建 Java文件,编写 Java 代码。如下图所示,通过 Idea 编辑器新建和编写了自定义函数 StringImage 。
代码可参考:图片在下文字在上
3.2 编译Java文件
Java文件编写完成后,在编译器中编译,无任何报错,编译通过后,将会在对应工程下生成 Class 类文件。
如下图所示,自定义函数 StringImage 编译通过后,在工程对应的输出目录下生成 StringImage.class 文件。