最新最详细 SpringBoot 2.2.6整合集成 FineReport V10.0(帆软报表)

简介

最近公司项目需要用到FineReport,帆软报表最新的版本是10,于是就结合官网帮助文档研究了下SpringBoot 2.2.6整合集成 FineReport V10.0。

网上也有些博客是介绍SpringBoot和FineReport整合集成的,但要不就是FineReport都是8或者9的老版本,要不就是说了些大概,根本不具有实际操作性,所以我费了半天功夫自己实践了,总算是整合好了。

SpringBoot 2.2.6整合集成 FineReport V10.0步骤

1.去官网下载FineReport V10.0

下载地址:https://www.finereport.com/product/download

安装好后的目录结构

2.先看下官方帮助文档的《嵌入式部署》章节。

3.把整合需要用到的 finereport jar 包 mvn install 到我们的maven仓库。

注意:C:\FineReport_10.0\webapps\webroot\WEB-INF\lib 是我的FineReport_10.0的安装目录,你的需要自己更改。

4.在maven的pom文件里加上finereport依赖jar包

5.在src/main目录下创建webapp/WEB-INF目录,并拷贝必须的文件。

因为idea生成的springboot项目,默认没有webapp/WEB-INF目录,所以我们需要自己手动创建。

根据帮助文档里的要求拷贝assets、assist、classes、embed、lib、plugins、reportlets、resources文件夹至我们刚创建的webapp/WEB-INF目录下。

6.将本机%JAVA_HOME%/jdk/lib下的 tools.jar 拷贝到咱们工程中的lib目录下

为什么要拷贝,还是看官方帮助文档

7.配置不使用springboot内嵌的tomcat,使用外部tomcat

7.1 pom文件里加上以下依赖配置

7.2 修改启动类继成 SpringBootServletInitializer 类

8.配置war包打包方式

8.1 设置packaging为war

8.2 增加 maven-war-plugin 配置

注意:这边是重中之重,不使用 maven-war-plugin 插件,而直接打war包,webapp/WEB-INF下的资源文件是不会被打到war包里的,以下代码的 include * 意思是让webapp/WEB-INF下的资源文件打包到war包里的WEB-INF目录下,而 exclude application.properties 意思是排除掉 application.properties 文件,因为它默认会被打到WEB-INF/classes目录下。

9.在idea里配置tomcat启动本服务

注意:tomcat版本需要是8及8以上

10.启动

查看控制台启动成功。

11.测试

访问:http://localhost:8087/andongtest_war/decision

继续登录

访问某一个报表:http://localhost:8087/andongtest_war/decision/view/report?viewlet=com.fr.demo.SimpleReportletDemo

总结

完整截图

完整代码下载地址:https://download.csdn.net/download/u013081610/12388493

帆软的官方文档写的有点粗略,这点好像很多人都有反馈,人工技术支持也只支持收费客户,所以只能自己琢磨SpringBoot 2.2.6整合集成 FineReport V10.0了。

+5