报错 500:服务器部署需引入 tools.jar

编辑
  • 文档创建者:jiangsr
  • 浏览次数:29084次
  • 编辑次数:10次
  • 最近更新:joyce_lnk 于 2019-08-22
  • 1. 描述

    服务器部署 FineReport10.0 工程过程中,如遇到下图所示报错 500 的情况。

    222


    2. 原因

    在 FineReport V10.0 & FineBI V5.0 中,我们引入了 Java Agent 和 JVMTI 技术,分别用于 AOP 编程和关键类保护以及强制内存回收的实现。

    不管是 Java Agent 还是 JVMTI,都是 JVM 的 Agent,区别在于前者是 Java 的实现,后者是 C++ 实现,因此在运行时,除了需要有 JRE 以外,还额外需要 JDK 中的 tools.jar(包含java编译器、动态加载 Agent 等的工具包)。

    tools.jar 是一个平台相关的工具包,不同的平台(Windows、Linux、OS X 等),不同的版本的 JRE,能正常使用的 tools.jar 的版本都是不同的,因此在使用的时候,需要注意匹配。最简单的匹配方式,就是将本机的 JDK 目录下的 lib/tools.jar 加入 Web 服务器的 ClassPath。  


    3. 解决方案

    3.1 方法一

    注:这里以 Tomcat 为例进行演示,别的容器也是拷贝到对应的容器的 lib 下

    备注:%JAVA_HOME%/jdk/lib下的tools.jar 为部署服务器本地 JAVA_HOME里面的文件,不是开发计算机本地的。

    %JAVA_HOME%/jdk/lib下的tools.jar拷贝到部署的服务器中,拷贝到%TOMCAT_HOME%/lib下和%TOMCAT_HOME%/webapps/工程名/WEB_INF/lib下,如下图所示:

    222

    3.2 方法二

    设置运行文件 catalina.bat上classpath 的值指向 tools.jar,即在 catalina.sh 加一行 CLASSPATH="$CLASSPATH":"$JAVA_HOME"/lib/tools.jar如下图所示:

    Windows 下

    222

    Linux 下

    222

    4. 注意事项

    若环境变量指向的%JRE_HOME%/bin下无 attach.dll 文件,还需将%JAVA_HOME%/jdk/jre/bin下的attach.dll拷贝到此路径下。



    附件列表


    主题: 部署集成
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]