1. 概述
用户在使用中会遇到设计器启动失败的场景,但是不知道如何定位问题或者解决问题,本文根据常见的启动类客户 bug 原因及解决方案,整理出了常规的排查步骤流程图,用户也可根据具体出现的情况查询解决方案:
2. 设计器闪退
设计器产生闪退的常见原因如下:
1)产品内的原因:
内存不够
finedb有问题
比如javafx实现的插件管理在windows下频繁使用会造成闪退(查明是javafx bug 升级jdk 或直接升级最新版 即可解决)
2)系统原因:
系统权限问题
3)其他软件冲突:
输入法dll导致
其他系统或者三方软件的dll
杀毒软件
设计器闪退常见的排查思路如下图所示:
2.1 设计器启动,加载至页面后闪退,打开 logs 文件夹下的 fanruan.log 日志文件有报错
问题描述:设计器启动,加载至页面后闪退,打开 logs 文件夹下的 fanruan.log 日志文件,报错如下:2019-03-12T15:06:50.153+0800 WARN Could not find matching type descriptor for requested Java class [java.util.List]; using fallback
2019-03-12T15:06:50.159+0800 WARN Could not find matching type descriptor for requested Java class [com.fr.swift.source.alloter.AllotRule]; using fallback
原因分析:配置文件中的全局样式有问题
解决方法:检查设计器的配置目录,将 finedb 替换成为一个可以正常启动的工程中的 finedb
2.2 设计器启动,加载至页面后闪退,没有报错日志
原因分析:电脑系统存在问题
解决方法:重新安装电脑系统
2.3 设计器启动闪退,error.log中只打印了闪退,没有打印其他报错信息
原因分析:设计器安装过程中存在异常
解决方法:重装设计器,并对安装设计器的服务器的 jar 包进行升级,即可应用正常
2.4 设计器启动一直闪退,查看日志发现引用了非安装磁盘下的工程
原因分析:可能是工作目录的问题
解决方法:找到 C 盘 xml 文件 保存激活码后删除 xml 文件,重启设计器
2.5 设计器闪退, 修改内存到 4G 也出现闪退
原因分析:设计器安装错误
解决方法:确认电脑系统和安装设计器系统是否匹配,重新安装
3. 设计器无法启动
3.1 设计器全新安装,无法启动,打开 fanruan.log 日志文件存在报错
问题描述:设计器全新安装,无法启动,打开 fanruan.log 日志文件,报错如下:
17:54:56 Thread-16 ERROR [standard] C:\FineReport_10.0\webapps\webroot\WEB-INF\assist\phantomjs\lib\vancharts-all.js (拒绝访问。)
java.io.FileNotFoundException: C:\FineReport_10.0\webapps\webroot\WEB-INF\assist\phantomjs\lib\vancharts-all.js (拒绝访问。)
原因分析:非管理员用户(非 Administrator 用户)安装设计器,且设计器安装到了系统盘(C 盘),设计器启动时,文件没有读写权限。
解决方法:
1)设计器安装到非系统盘(除了 C 盘外别的盘)
2)若安装到了系统盘,那么需要给文件夹赋予全部用户的读写权限。
3)用管理员用户(Administrator 用户)安装,管理员用户(Administrator用户)启动
3.2 设计器安装后无法启动
原因分析:
1)缓存/内存问题
2)启动的时候连接了远程设计平台,远程设计平台配置了外接库,外接库的 root 账号密码失效
3)jar 包放置位置错误、缺少多个 jar 包、 jar 包不匹配
解决方法:
1)在「任务管理器」中结束进程 designer.exe 和 OpenJDK Platform binary,删除 C 盘的系统缓存,重启设计器;或清除缓存,用大内存启动,可参考:修改内存。
2)重新登录外接数据库,重启服务器。
3)查看环境,确认 jar 包放置情况及 jar 包是否缺失,并确认 jar 包是否匹配,进行替换或增补即可。
3.3 设计器 exe 启动无响应
问题描述:设计器 exe 启动无响应,任务管理器中无设计器线程,bin下生成error.log,但error.log是空的,bat启动设计器正常。
原因分析:系统中存在加密软件
解决方法:将设计器添加到加密软件的白名单中即可。
3.4 设计器无法启动,bat启动到一定程度闪退,查看错误日志有报错
问题描述:设计器无法启动,bat启动到一定程度闪退,查看错误日志,关键报错:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
解决方法:
1)排查是否为杀毒软件的问题。
2)任务管理器里面搜索设计器进程,删除后重启设计器。
3.5 jar 包替换后,设计器无法启动
解决方法:重装设计器。
3.6 开机后首次启动设计器卡在启动页面很长时间,然后报错-出现意外错误,关掉后重启正常
解决方法:备份工程,重装设计器。
3.7 设计器打开的时候停在启动动画
解决方法:清除缓存后重启设计器。
3.8 设计器无法启动,报错含JDK
问题描述:设计器无法启动报错:OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
解决方法:重装设计器。
3.9 设计器无法打开,打开日志报错
问题描述:设计器无法启动,打开日志报错:
please check the database service to ensure that it is available jdbc:hsqldb:file://X:\FineReport_XX\webapps\webroot\WEB-INF/embed/finedb/db:hsqldb.tx=mvcc
原因分析:Finedb 问题
解决方法:删除db.lck文件,删除 C 盘缓存文件,重启设计器。
3.10 启动设计器报错:发现与设计器端口冲突的进程,请结束进程或更改设计器端口
解决方法:
1)netstat -ano |findstr “端口号” 将在占用设计器端口号的进程筛选出来。
2)找到对应的进程后,通过进程的pid查看对应的进程名。命令:tasklist |findstr "pid" 3)通过进程名称或PID杀掉该进程 命令:taskkill /f /t /im "进程id或者进程名称"。如:taskkill /f /t /im "java.exe" 或 taskkill /f /t /im "16516"
注:windows 系统其实在查到占用端口对应的 pid 或进程名后就可以通过任务管理器直接杀掉进程。
3.11 11.0 设计器无法启动,报错为:Exception in thread' main” java. lang. NoClassDefF oundError: com/fr/base/theme/ThemedTemplate
原因分析:JAR包错误
解决方法:重新替换jar包
3.12 设计器打开报错
问题描述:设计器打开报错:please check the database service to ensure that it is available jdbc
原因分析:读取不到 finedb 数据库或者被多个工程读取导致冲突
解决方法:
1)清除本地缓存,C:\Users\用户目录下,删除整个缓存文件
2)删除\webapps\webroot\WEB-INF\embed\finedb下的db.lck文件
3)权限不够,这种情况打开\webapps\webroot\WEB-INF\embed\finedb一般会提示没有管理员权限,可以通过管理员身份打开设计器
4)本地是否同时安装了设计器跟部署了服务器,有时候会同时读取finedb,导致冲突,解决办法:删除缓存文件,这个最直接,或者配置一下.FineReportXXX\FineReportEnv下的缓存路径,不要跟tocmat冲突
5)配置过外置数据库,但是有迁移回去了,或者不知名原因,出现了db.properties文件,这时删除/webapps/webroot/WEB-INF/config下的db.properties文件就行
3.13 打开设计器一直停在加载页面
问题描述:打开设计器后长时间停留在加载动画页面,无法进入设计器主页面。
原因分析:报错提示 Java 内存溢出,只是由于设计器内存分配不够导致的。
解决方案:编辑器打开%FR_HOME%\bin\designer.vmoptions,将设计器内存调大一些,修改设计器内存的方法参见文档:修改内存。
3.14 finereportEnv.xml 文件损坏
问题描述:设计器启动失败,弹出报错提示信息:抱歉!设计器启动出现预期外的错误,问题详细信息显示:-1
解决方案:这是由于系统盘 .FineReport110 文件夹内的 finereportEnv.xml 文件损坏导致的,删除该文件即可,如下图所示:
3.15 国产化设计器安装后无法启动
问题描述:中标麒麟ARM系统,linux内核,安装Linux版设计器。
./designer 启动报错:OpenJDK 64-Bit Server VM warning :ignoring option MaxPermSize=128m;support was removed in 8.0
和Failed to load /etc/os-release
解决方案:
1)第一个报错可以不关注,可以正常启动
2)第二个报错为环境的问题,可以先确认下linux环境是否存在/etc/os-release这个文件
4. 设计器重启
4.1 设计器保存失败,甚至直接闪退重启。
问题描述:设计器保存失败,甚至直接闪退重启。服务器报错:Exception caught during execution of add command
原因分析:内存满了
解决方法:清理磁盘
4.2 更新完设计器插件后点击立即重启,然后设计器就一直在调用 restart.exe,完全没办法正常启动。
问题描述:设计器升级更新后没有点击立即重启,点了稍后重启,然后又更换了语言,弹出立即重启,然后设计器就崩溃了,一直在无线调用 restart.exe,设计器完全没办法启动。
解决方法:一直调用 restart 的情况下,删掉设计器的 webroot 同级目录下 delete.properties 和 restart.lock 文件就好了。
注:在删除文件之前需要先停掉无限启动的 restart 进程。
方法1:重启电脑。
方法2:修改掉设计器 bin 目录下的 restarte.exe 的名字,然后任务管理器挂掉已经存在的 restart.exe 的进程
5. 设计器启动后异常
5.1 The JVM could not be started
问题描述:启动设计器时,弹出错误提示框,无法正常启动,错误信息如下:
The JVM could not be started. The maximum heap size (-XMx) might be too large or anti virus or firewall tool could block the execution
解决方法:打开%FR_HOME%\bin\designer.vmoptions文件,将 -Xmx 的值改小一点,修改后重启设计器即可。如下图所示:
5.2 设计器页面错乱
问题描述:当使用设计器远程服务器进行报表设计的时候,有时候会出现设计器卡死问题。当我们再次登录设计器时候,发现设计器显示页面错乱,有时会有英文产生。
解决方法:当出现这个问题时候,只需要进行 Ctrl + N 新建一个报表,同时将远程服务器的 目录切换 为本地默认目录,重新启动一下设计器即可解决问题。
5.3 FineDB 损坏
问题描述:打开设计器,报错:配置数据库出错,是否重置?将在 embed 文件夹下生成备份并重置。如下图所示:
注:FineDB 损坏重置之后,生成的 FineDB 是没有数据的 ,重置须谨慎。
原因分析:
1)产品装在 C 盘,因为 C 盘需要用户的权限比较大,有可能会出现这种问题。
2)非管理打开设计器,对安装软件的文件夹没有读写权限。
解决方案:
1)卸载后安装在 D 盘。
2)使用管理员账号打开设计器,或者提高用户对文件夹的读写权限。
5.4 设计器残留进程占用 FineDB
问题描述:设计器启动时如果弹出报错提示信息:上次设计器进程未正常关闭,是否结束进程并重启,如下图所示:
解决方案:
1)点击结束进程:结束显示的进程并重启设计器。
2)点击取消或关闭:取消设计器启动,并在后台杀掉进程。
5.5 端口被其他进程占用
问题描述:设计器启动时如果弹出报错提示信息:发现与设计器端口冲突的进程,请结束进程或更改设计器端口,表示设计器的端口被其他进程占用。如下图所示:
解决方案:点击更改端口后,弹出更改端口号的提示框,用户可以在文本框中填写新的端口号。
注1:设计器内置服务器端口默认为 8075,点击设计器中的预览方式查看报表时使用这个端口;51462 为设计器默认端口,用来防止设计器多开。所以更改端口号时应避免填写这两个端口,以防填写重复值再次导致冲突。
注2:端口号范围在 1024~65535 之间。
5.6 未知启动问题
问题描述:设计器启动遇到未知错误时,会弹出报错提示信息:抱歉!设计器启动出现预期外的错误
解决方案:
1)点击重启:重新启动设计器。
2)点击好:同时关闭弹窗和设计器。杀掉进程重启设计器或重新安装后重启。
5.7 设计器支离破碎, 显示不全
原因分析:可能是 jdk1.8 的bug。
解决方案:安装内置 jdk1.7 的设计器 windows_FineReport-CN_jdk1_7.exe
5.8 设计器页面会跟着鼠标跑,出现重影
问题描述:只要打开设计器,页面就会跟随鼠标出现无数重影,完全无法正常使用,重启、重装设计器都不行
解决方案:显卡驱动问题,关闭java3d即可。在designer.vmoptions 配置参数 -Dsun.java2d.d3d=false
5.9 设计器输入中文闪退
问题描述:设计器安装后,英文输入正常。切换中文输入法输入,设计器直接闪退。
原因分析:jvm把字节码转换成机器码出错了。这个基本是个jdk bug,可以切换jvm的模式(默认是混合模式)
解决方案:找到设计器安装路径,%FR_HOME%bin目录下的designer.vmoptions文件。最下面配置-Xint参数,避免将字节码转换成机器码,强制JVM执行所有的字节码。
5.10 设计器出现重影
问题描述:更换电脑后,目前分辨率为2560*1600,出现设计器错位这种情况
解决方案:在designer.vmoptions 配置了一下参数 -Dsun.java2d.d3d=false,重启即可解决
5.11 设计器打开白屏
问题描述:任意版本设计器打开都是白屏,重装设计器也是如此
解决方案:在designer.vmoptions 配置了一下参数 -Dsun.java2d.d3d=false,重启即可解决。
5.12 设计器无法登录通行证/自动更新/下载插件
问题描述:
1)网络情况是使用网络代理,设计器启动正常,但在设计器和数据决策系统中无法登录帆软通行证。
2)网络情况是使用网络代理,设计器无法自动更新或下载插件。
原因分析:
11.0.8 之前版本设计器不支持网络代理。
解决方案:
可参考:FineReport外网地址