经过一天的摸索,终于将FineReport嵌入了SpringBoot项目,并成功部署。
以下是步骤总结:
1、添加打包方式
2、将SpringBoot内置tomcat的 scope 设置为 provided (意思为打war包时不引入)
org.springframework.boot
spring-boot-starter-tomcat
provided
3、新增两层目录,用于存放FineReport的文件
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包部署的了。
帮助文档地址: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导入项目了。
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单元测试部分)
2、在项目中的target文件夹中,将war包复制黏贴到tomcat的webapps中。
3、进入tomcat的bin目录中,双击 startup.bat,启动Tomcat。
4、在服务器中输入localhost:8080/decision,出现FineReport的数据决策系统的页面就证明成功了!!!
以上是我的一点儿经验终结,如果能帮到阅读中的你,那就太好了。