FineReport10嵌入自己的SpringBoot项目

经过一天的摸索,终于将FineReport嵌入了SpringBoot项目,并成功部署。

以下是步骤总结:

一、默认情况,SpringBoot是使用内置Tomcat,打jar包的,而FineReport官网文档建议使用war包方式整合,所以我就将修改成外置Tomcat,并且打war包。

1、添加打包方式

FineReport10嵌入自己的SpringBoot项目_第1张图片

2、将SpringBoot内置tomcat的 scope 设置为 provided (意思为打war包时不引入)

        
            org.springframework.boot
            spring-boot-starter-tomcat
            provided
        

3、新增两层目录,用于存放FineReport的文件

FineReport10嵌入自己的SpringBoot项目_第2张图片

4、改动SpringBoot的启动类。(继承SpringBootServletInitializer,重写configure方法)

@SpringBootApplication
public class BatchdemoApplication extends SpringBootServletInitializer {

	public static void main(String[] args) {
		SpringApplication.run(BatchdemoApplication.class, args);
	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(BatchdemoApplication.class);
	}
}

至此,SpringBoot就修改成使用外置Tomcat,打war包部署的了。

 

二、接下来是跟随FineReport官方文档,将必要的文件导入项目。

帮助文档地址:https://help.finereport.com   》高级教程  》部署集成  》服务器部署  》报表部署流程  》 嵌入式部署。

1、我在本地安装了FineReport软件。

2、为了简便,可以直接将 本地安装的FineReport的路径下\webapps\webroot\WEB-INF目录下面的 assets、assist、classes、embed、lib、plugins、reportlets 七个文件夹复制到SpringBoot项目自己新建的WEB-INF下。

3、将lib中的jar引入项目中,可以使用maven引入,我比较懒,直接将jar导入项目了。

FineReport10嵌入自己的SpringBoot项目_第3张图片

4、别忘了将%JAVA_HOME%/jdk/lib下的 tools.jar 拷贝到到%TOMCAT_HOME%/lib下和%TOMCAT_HOME%/webapps/工程名/WEB_INF/lib下。 

5、由于SpringBoot开发我们习惯了不写项目名,当用外置tomcat部署的项目,默认都是要加项目名的,如:localhost:8080/项目名/...  ,所以我对tomcat配置文件server.xml做了修改。配置文件的路径在:tomcat目录下的conf目录里。

打开server.xml,找到

在这句下面添加一句(其中,docBase是你war包解压后的项目路径)

三、现在就差运行测试了。

1、利用idea 打个war包。(其中1的意思是排除test单元测试部分)

FineReport10嵌入自己的SpringBoot项目_第4张图片

2、在项目中的target文件夹中,将war包复制黏贴到tomcat的webapps中。

3、进入tomcat的bin目录中,双击 startup.bat,启动Tomcat。

4、在服务器中输入localhost:8080/decision,出现FineReport的数据决策系统的页面就证明成功了!!!

 

以上是我的一点儿经验终结,如果能帮到阅读中的你,那就太好了。

 

 

你可能感兴趣的:(FineReport,SpringBoot,spring系列)