1. 概述
1.1 版本说明
报表服务器版本 | 系统版本 | JBoss 版本 | JDK版本 |
---|---|---|---|
10.0 | Windows10 | JBoss6 及以上 已验证版本: JBoss-EAP-6.4 WildFly--8.2.1 WildFly-10.1.0 WildFly-20.0.1 WildFly-24.0.1 | JDK 1.8 且小版本需在 JDK8u102 以上 |
1.2 WildFly简介
JBoss AS是 JBoss 的开源版本,JBoss EAP 是 JBoss 的企业版本。为了更好地区分两者,从 JBoss AS8 开始 JBoss AS 更名为 WildFly 。
2. 暴露式部署
以下示例环境为 Windows 10+WildFly-10.1.0+jdk1.8 。
2.1 环境准备
1)需参考 部署环境准备 文档,准备相关环境。
2)用户需按照本文 1.1 节 JDK 版本要求,安装 JDK 并配置环境变量。
2.2 安装 WildFly-10.1.0
1)从 官网 下载 WildFly-10.1.0 。如下图所示:
2)将下载的压缩包放到电脑某个文件夹下,解压。如下图所示:
2.3 配置环境变量
1)新建系统变量JBOSS_HOME,变量值为 WildFly 解压缩路径。如下图所示:
2)编辑变量 Path,新增值%JBOSS_HOME%\bin。如下图所示:
3)启动服务,验证是否配置成功。进入 bin 目录下,双击运行standalone.bat文件,看到如下日志,代表启动成功。如下图所示:
浏览器访问http://localhost:8080(WildFly 的 http 协议默认端口是 8080),出现下图所示画面代表服务器配置成功。
4)关闭已打开的 cmd 窗口。
2.4 配置 WildFly 支持 IP 地址访问
修改%JBOSS_HOME%\standalone\configuration\standalone.xml,原始的配置如下:
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>
</interfaces>
改成以下配置,就能通过IP访问了。
<interfaces>
<interface name="management">
<any-address/>
</interface>
<interface name="public">
<any-address/>
</interface>
</interfaces>
2.5 部署 FineReport 工程
2.5.1 拷贝工程
1)将%FR_HOME%\webapps下的 webroot 文件夹拷贝到%JBoss_HOME%\standalone\deployments下。如下图所示:
2)将%JAVA_HOME%\jdk\lib下的 tools.jar 拷贝到%JBoss_HOME%\standalone\deployments\webroot\WEB-INF\lib下。如下图所示:
2.5.2 设置 webroot 文件夹
1)将 webroot 文件夹改名为 webroot.war 。如下图所示:
2)Windows 下命令进入%JBoss_HOME%\standalone\deployments下,输入type nul > webroot.war.dodeploy,生成一个webroot.war.dodeploy文件。如下图所示:
2.6 效果查看
双击%JBoss_HOME%\bin\standalone.bat,启动服务器之后访问工程,输入地址http://IP:8080/webroot/decision。如下图所示:
注:修改 JBoss 服务器端口号和内存请参见:JBoss 服务器端口号修改、JBoss 服务器内存修改
3. 常见报错
3.1 登录失败
问题描述
JBoss 服务器部署成功后,登录平台时输入正确的用户名和密码,提示:登录失败。如下图所示:
原因分析
JBoss 对 JDK 类选择性载入的问题,导致的登录失败。
解决方案
在%JBoss_HOME%\modules\system\layers\base\sun\jdk\main的 module.xml 加上<path name="com/sun/management"/>,重启 FineReport 工程即可。如下图所示:
3.2 一些类找不到
问题描述
服务启动过程中会报一些类找不到,加载出现报错Error:找不到sun.net.www.protocol.file
解决方案
在%JBoss_HOME%\modules\system\layers\base\sun\jdk\main的 module.xml 加上<path name="sun/net/www/protocol/file"/>,重启 FineReport 工程即可。如下图所示: