历史版本68 :工程部署方案选择 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

Tomcat 是免费且性能相对稳定的 Web 应用服务器,在许多中小型企业中深受欢迎,本文将介绍如何将 FineReport10.0 报表工程部署到 Tomcat 服务器端。

1.1 支持版本

支持的 Tomcat 服务器版本和 JDK 版本如下,版本不对应会导致服务器部署失败。

Tomcat 版本JDK 版本 

推荐使用 Tomcat8.5.57 及以上版本,或者 Tomcat8 最新版本

注:使用推荐版本可减少因 Tomcat 版本过低导致的安全问题。

支持Tomcat7.0~9.0 版本

不支持 Tomcat10.0 版本

JDK1.8

注1:建议使用解压版的 Tomcat 和 JDK。

注2:10.0 工程暂不支持与 9.0 共用容器。

注3:所有版本的 Tomcat 部署步骤基本相同,JDK 版本需要与操作系统对应,如 32 位的系统只能使用 32 位的 JDK。

1.2 开机自启动

如果用户需要设置 Tomcat 开机自启动,可以参见文档:Web 应用服务器开机自启动

2. 部署方法编辑

可以通过三种方法将 FineReport 报表工程部署到 Tomcat 服务器端。

2.1 服务器部署包

为方便用户进行服务器部署,帆软整合了包含报表工程和环境配置的 Web 容器,下载解压后即可使用,用户无需配置环境。

Windows 系统下部署方法参见文档:服务器部署包

Linux 系统下部署方法参见文档:Linux 下 Tomcat 服务器部署包

2.2 独立部署

独立部署需要用户自行下载并安装 JDK 和 Tomcat 服务器来配置部署环境,再将 FineReport 报表工程拷贝到 Tomcat 服务器端。

Windows 系统下部署方法参见文档:独立部署

Linux 系统下部署方法参见文档:Linux 下 Tomcat 服务器独立部署

注:独立部署时需要考虑 Tomcat 和 JDK 的版本对应关系,否则会导致部署失败。

2.3 嵌入式部署

如果用户希望将 FineReport 报表部署到已有的 Web 工程中时,可以采用嵌入式部署的方式

Windows 系统下部署方法参见文档:嵌入式部署

3. 常见错误编辑

3.1 决策平台中文无法搜索

1)问题描述

Tomcat 独立部署 成功后,在决策平台内搜索时,输入中文无法正常搜索,但在本地输入中文进行搜索是可以的。

2)解决方案

Tomcat 的默认编码格式不是 UTF-8,具体原因参见文档:Tomcat7 编码修改为 UTF-8

需要修改 %Tomcat_HOME%\conf 目录下的 server.xml 文件,将代码中的编码修改为 UTF-8 格式,如下图所示:

<Connector port="8080"  protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

Snag_48d33744.png

3.2 JDK12 环境下报错

1)问题描述

JDK12 环境下将报表工程部署到 Tomcat 服务器端,会报 500 错误。

1578560537302570.png

2)解决方案

JDK9 及之后的版本是没有 tools.jar 的,安装低版本 JDK 部署即可。

3.3 报错404

3.3.1 案例一

1)问题描述

The origin server did not find a current representation for the target resource or is not willing to disclose that one exist.

]M6SIHFWLA1BS]T9LT{``P6.png

2)解决方案

确保访问10.0报表工程时 URL 是正确的:http://localhost:8080/webroot/decision,工程路径不能漏掉,且路径中大小写敏感。

3.3.2 案例二

1)问题描述

The requested resource is not available.

P623WRFJ$TMMC_$]B52XU%6.png

2)解决方案

需要检查一下 JDK 的环境变量配置是否有错,特别是有没有设置 JAVA_HOME。

3.3.3 案例三

1)问题描述

Tomcat 启动报错:fine assist start failed。

2)解决方案

检查环境变量指向的%JRE_HOME%\bin底下没有 attach.dll,若没有 attach.dll 文件,需要将%JAVA_HOME%\jdk\jre\bin下的 attach.dll 文件拷贝到此路径下。

3.3.4 案例四

1)问题描述:

日志报错:The error reported was [E:\tomcat\apache-tomcat-7.0.79\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform]

2)解决方案

检查 JDK 版本是否与操作系统对应,如32位的系统只能使用32位的 JDK,64位的系统只能使用64位的 JDK。

3.3.5 案例五

1)问题描述

Tomcat 升级或更换为其他版本后,访问报表时报404错误,且日志文件中存在 RFC 系列错误信息。

2)解决方案

修改 %Tomcat_HOME%\conf 目录下的 server.xml 文件,在 server.xml 中添加如下代码,重启服务器即可。

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" relaxedQueryChars='^{}[]|&quot;' />

如果修改 server.xml 后还是中文乱码,可以在 catalina 文件中添加:

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8

3.4 配置管理员密码出错

1)问题描述

使用 exe 安装包安装的 Tomcat,部署工程后设置管理员账号时前端报错:配置管理员密码出错,后台报错:ERROR [standard] Database is not initialized,如下图所示:

1559700368248933.png

2)解决方案

这是由于 exe 启动方式内存不足导致的,需要调大 tomcat 启动内存,修改内存方法如下:

双击如下图所示%Tomcat_HOME%\bin下的 exe 文件,每个 Tomcat 版本名称不同,Tomcat9 是:Tomcat9w.exe,如下图所示:

Snag_415ebeb.png

双击文件后,打开 Tomcat 服务器管理界面,将启动内存调大,如下图所示:

Snag_4199feb.png