历史版本2 :Tomcat部署问题汇总 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文介绍 Tomcat 服务器部署 中一些报错及解决方案。

2. 示例编辑

2.1 决策平台中文无法搜索

问题描述:

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

解决方案:

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

2.2 JDK12 环境下报错

问题描述:

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

1578560537302570.png

解决方案:

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

2.3 报错404

2.3.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

解决方案:

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

2.3.2 案例二

问题描述:

The requested resource is not available.

P623WRFJ$TMMC_$]B52XU%6.png

解决方案:

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

2.3.3 案例三

问题描述:

Tomcat 启动报错:fine assist start failed

解决方案:

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

2.3.4 案例四

问题描述:

日志报错: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]

解决方案:

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

2.3.5 案例五

问题描述:

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

解决方案:

修改 %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

2.4 配置管理员密码出错

问题描述:

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

1559700368248933.png

解决方案:

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

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

Snag_415ebeb.png

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

Snag_4199feb.png

2.5 10.0 工程部署到 Tomcat 后没有生成 fanruan.log

问题描述:

FineReport 10.0 工程部署到 Tomcat 后,%Tomcat_HOME%\logs文件夹下没有生成 fanruan.log 文件,无法查看工程执行情况。

而且报错:

java.io.FileNotFoundException: /var/lib/tomcat8/../logs/fanruan.log (No such file or directory)

解决方案:

1)在%Tomcat_HOME%\webapps\webroot\WEB-INF路径下新建一个名为 config 的文件夹。

2)在 config 文件夹中新增log4j.properties文件,如下图所示:

9.png

文件内容如下所示:

log4j.rootLogger=${LOG_ROOT_LEVEL},standard,stdout
log4j.appender.standard=com.fr.third.apache.log4j.DailyRollingFileAppender
log4j.appender.standard.DatePattern='.'yyyy-MM-dd
log4j.appender.standard.File=${LOG_HOME}/../logs/fanruan.log
log4j.appender.standard.layout=com.fr.third.apache.log4j.PatternLayout
log4j.appender.standard.layout.ConversionPattern=%d{HH\:mm\:ss} %t %p [%c] %m%n
log4j.appender.standard.Append=true
  
log4j.appender.stdout=com.fr.third.apache.log4j.ConsoleAppender                        
log4j.appender.stdout.layout=com.fr.third.apache.log4j.PatternLayout                         
log4j.appender.stdout.layout.ConversionPattern=%d{HH\:mm\:ss} %t %p [%c] %m%n

用户可在代码第四行修改日志存放路径。

2.6 工程启动时闪退

问题描述:

用户将 FineReport 工程部署到 Tomcat 服务器上,启动 FineReport 工程时出现闪退现象;将 Tomcat 中部署的 FineReport 工程删除,单独启动 Tomcat ,可以正常启动。日志报错如下图所示:

1608602443925430.png

运行到 ResourceUpdateActivator 模块时闪退。

原因分析:

360 安全软件阻挡。

解决方案:

1)把运行 java 程序的 java.exe 添加到信任中,即可正常运行。如下图所示:

注:该方法适用范围:360 天擎-Windows 服务器版。

4.png

2)若采取步骤一后还是无法启动,需关闭「文件系统防护」按钮。如下图所示:

6.png