Tomcat 服务器部署

  • 文档创建者:文档助手1
  • 编辑次数:60次
  • 最近更新:Carly 于 2020-08-04
  • 1. 概述

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

    1.1 支持版本

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

    Tomcat 版本JDK 版本 

    推荐使用 Tomcat8.5.51 版本

    支持Tomcat7.0~9.0 版本

    不支持 Tomcat10.0 版本

    JDK8

    注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 服务器部署包

    注:服务器部署包里面的环境配置为:FineReport10.0报表工程+Tomcat8.5.51+JDK8。

    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


    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!