spring boot 2.0 集成 fineReport 10

集成 fineReport

基于spring boot 2.0 项目集成fineReport 10.0环境

在项目中对应 module src 目录下创建webapp文件并创建子文件WEB-INF

spring boot 2.0 集成 fineReport 10_第1张图片
modules添加Web 并把webapp文件夹设置为Web Resource Directory
spring boot 2.0 集成 fineReport 10_第2张图片
spring boot 2.0 集成 fineReport 10_第3张图片
%FineReport_HOME%\webapps\webroot\WEB-INF目录下的所有文件复制到项目的WEB-INF
spring boot 2.0 集成 fineReport 10_第4张图片
%JAVA_HOME%/jdk/lib下的tools.jar复制到webapp的WEB-INF的lib文件夹下

spring boot 2.0 集成 fineReport 10_第5张图片
修改 base-admin pom.xml文件

修改打包方式为war

	<packaging>war</packaging>

spring boot 2.0 集成 fineReport 10_第6张图片

l spring-boot-starter-tomcat 添加 provided 否则 war可能为报错

<dependency>
	 <groupId>org.springframework.boot</groupId>
	 <artifactId>spring-boot-starter-tomcat</artifactId>
	  <!-- 编译和测试的时候用 -->
	 <scope>provided</scope> 
</dependency>

添加servlet依赖、去除boot内嵌tomcat

<dependency>
	<groupId>javax.servletgroupId>
	<artifactId>javax.servlet-apiartifactId>
	<version>3.1.0version>
	<scope>providedscope>
dependency>

<dependency>
    <groupId>org.mybatis.spring.bootgroupId>
    <artifactId>mybatis-spring-boot-starterartifactId>
    <version>${mybatis-spring-boot-starter.version}version>
    
    <exclusions>
        <exclusion>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-tomcatartifactId>
        exclusion>
    exclusions>
dependency>

修改启动类 继承 SpringBootServletInitializer 重写 configure方法

import com.fastfinger.dev.listener.ApplicationStartupListener;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableAsync;

@SpringBootApplication
public class BaseApplication extends SpringBootServletInitializer {

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


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



}

添加artifacts 打开 project structure
spring boot 2.0 集成 fineReport 10_第7张图片

选择 web module put into output root 我这里是base-admin

spring boot 2.0 集成 fineReport 10_第8张图片
配置tomcat
spring boot 2.0 集成 fineReport 10_第9张图片

添加参数 -DDIAMOND.CONNECT.TIMEOUT=60000 -XX:MaxPermSize=3512m 这里会出现警告 没有关联 artifacts 点击 fix 选择 之前配置的 artifacts

spring boot 2.0 集成 fineReport 10_第10张图片

继续往下拉 Application context设置为/ (当前先不配置名称,spring boot部署到外部tomcat,如果有添加拦截器没处理好可能会出现404问题)
这里是配置运行后访问的路径 如 Application context:/base 访问项目路径则为 http://localhost:8080/base

spring boot 2.0 集成 fineReport 10_第11张图片
点击运行TOMCAT

打开浏览器 输入 http://localhost:8080/decision/ 完成
/decision 进入finereport后台
spring boot 2.0 集成 fineReport 10_第12张图片

如果要在iframe显示自定义报表

<iframe src="/decision/view/report?viewlet=base/base.cpt"  
 width="100%" height="100%" frameborder="no" border="0"></iframe>`

base/base.cpt的路径为项目的 src/webapp/WEB-INF/reportlets

spring boot 2.0 集成 fineReport 10_第13张图片
完成~

你可能感兴趣的:(Spring,boot)