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 包,主要分为两类: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 编辑器给新建一个工程 JavaIdea 引入以上几个必要包。
2.2.2 引入第三方JAR包
如需引用第三方 JAR 包,可按以下步骤引入。如无需引入,忽略此步骤。
引入第三方 JAR 包主要有两种方式。
1)下载第三方 JAR 包后,将其放在 %FR_HOME%\webapps\webroot\WEB-INF\lib 目录下,即和 FineReport 提供的 fine-decision-10.0.jar 位于同一个目录。在引入 FineReport 工程 JAR 包时一起引入。
2)下载后放在某个自定义目录下,引入即可。如下图所示,通过 Idea 编辑器给工程 JavaIdea 引入第三方 JAR 包 slf4j-simple-1.7.25。
3. 编译Java文件
编译环境准备好后,便可编写和编译 Java 文件。
3.1 编写Java文件
在编辑器中新建 Java 文件,编写 Java 代码。如下图所示,通过 Idea 编辑器新建和编写了自定义函数 StringImage 。
代码可参考:图片在下文字在上
3.2 编译Java文件
Java 文件编写完成后,在编译器中编译,无任何报错,编译通过后,将会在对应工程下生成 Class 类文件。
如下图所示,自定义函数 StringImage 编译通过后,在工程对应的编译目录下生成 StringImage.class 文件。