反馈已提交
网络繁忙
本文介绍因 JAVA 环境变量配置有问题导致的一些报错及解决方案。
注:FineReport 支持的 JDK 版本为:JDK 1.8 且小版本需在 JDK8u102 以上。
原因分析
FR10.0 从 2020-08-03 开始就不再支持 JDK1.7 及以下版本,仅支持 JDK1.8 。
解决方案
更换JDK 版本为:JDK 1.8 且小版本需在 JDK8u102 以上。
插件编译使用的 JDK 版本高于运行的环境变量的 JDK 版本。
官方发布的插件编译版本都是不高于 JDK1.8 的,JAVA环境换成 JDK1.8 即可。
问题描述
日志报错存在:Caused by: com.sun.tools.attach.AttachNotSupportedException: no providers installed
Windows 下安装 JDK 会同时安装一个独立的 jre ,独立安装的 jre 下没有 attach.dll 这个文件,FR11.0 启动需要调用这个文件。
配置 JRE_HOME 不能指向独立安装的 jre ,必须使用%JAVA_HOME%\jre
日志报错存在:Caused by: java.lang.UnsatisfiedLinkError: sun.tools.attach.LinuxVirtualMachine.isLinuxThreads()Z
Windows 下部署却放了 Linux 的 tools.jar 。
%JAVA_HOME%\lib获取 tools.jar 放到webroot/WEB-INF/lib下或者tomcat/lib下。
日志报错存在:Caused by: com.sun.tools.attach.AgentLoadException: Failed to load agent library
安装的 JDK 位数不对,安装的 JDK 版本一定要与操作系统匹配,64 位操作系统是可以安装 32 位 JDK 的,但是 FR11.0 不支持这样的操作,必须保持统一。
不确认的话先用 uname 获取下操作系统版本,再安装对应版本的 JDK ,注意 x86 指的是 intel 的操作系统架构,x86_64是 64 位,i586 是32位的。
非 JDK 导致的类似报错,如:Caused by: com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
这个报错看起来和 JDK 问题导致的报错很像,但是却不一定是 JDK 导致的。
/tmp 目录无法写入文件,可能导致这个现象的原因是:
普通用户没有权限。
/tmp 所在磁盘空间已满。
若没有权限,把/tmp目录的权限开放即可。
若磁盘空间了,则清理下对应磁盘的空间。
日志报错存在:java.lang.IllegalArgumentException: object is not an instance of declaring class
bytebuddy 版本不兼容。
升级 JDK 版本,建议升级到较高版本的 JDK1.8 。
所有模板预览空白。
oracle1.8.0_171_b11 会导致模板预览空白。
修改 tomcat/bin 下的 catalina.bat(以部署包为例),如下图所示:
修改 tomcat/bin 下的 catalina.sh(以部署包为例),如下图所示:
Linux 版部署包下指定 JDK 路径是特殊要求的,必须是定义了CATALINA_HOME之后,初次调用 JAVA_HOME 之前,所以只能加这个位置。
非部署包可以指向绝对路径下的 JDK ,没有 CATALINA_HOME 的限制,就只要添加在初次调用 JAVA_HOME 之前即可。
售前咨询电话
400-811-8890转1
在线技术支持
请前往「服务平台」,选择「在线支持」
热线电话:400-811-8890转2
总裁办24H投诉
热线电话:173-1278-1526
文 档反 馈
鼠标选中内容,快速反馈问题
鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。
不再提示
10s后关闭