war 包部署前的环境配置

发送反馈


SuperMap iServer 11i(2024) 的 war 包可部署在多种操作系统下的多种中间件中(参见:硬件要求软件要求)。

使用 war 包部署 SuperMap iServer 11i(2024) 时,需要先安装 JRE/JDK、SuperMap iObjects Java 11i(2024),并进行环境变量的配置。若使用32 bit 的 JRE/JDK,则需要使用32 bit 的 SuperMap iObjects Java;若使用64 bit 的 JRE/JDK,则需要使用64 bit 的 SuperMap iObjects Java。若需要使用 iServer 内置 Spark,请参考使用 iServer 内置 Spark 前的环境准备;需要使用处理自动化服务,请参考使用处理自动化服务

Windows 系统

1. JRE(1.8版本)设置环境变量如下:

如果安装的是 JDK,则设置 JAVA_HOME 为 JDK 的目录;如果安装的是 JRE,则需要设置 JRE_HOME 为 JRE 的目录。

2. SuperMap iObjects Java 环境变量

安装 SuperMap iObjects Java 时会自动设置,也可手工设置如下:

UGO_HOME,设置为 SuperMap iObjects Java 的目录。并将%UGO_HOME%\Bin 加入到系统的 PATH 环境变量中。

Linux 系统

1. JRE(1.8版本)设置环境变量如下:

如果安装的是 JDK,则设置 JAVA_HOME 为 JDK 的目录;如果安装的是 JRE,则设置 JAVA_HOME 为 JRE 的目录,比如在系统的 profile 文件(默认路径为:/etc/profile)中设置 JAVA_HOME 如下:

export JAVA_HOME=/JDK 的目录

2. 设置系统的编码方式如下:

export LANG=zh_CN.UTF-8

export LANG=zh_CN.UTF-8

unset LC_CTYPE

3. 设置 SuperMap iObjects Java 的环境变量

如果用户以 ROOT 用户安装 SuperMap iObjects Java,环境变量配置会自动写入到/etc/profile 文件,此时不需要额外设置。

如果用户没有以 ROOT 用户安装 SuperMap iObjects Java,需要进行如下设置:

设置 UGO_HOME,并将 UGO_HOME 加入 LD_LIBRARY_PATH 变量,如下:

export UGO_HOME=/SuperMap iObjects Java 的安装目录

export LD_LIBRARY_PATH=$UGO_HOME/bin:$LD_LIBRARY_PATH

设置 SUPERMAP_ROOT 环境变量,使其指向字体库 fonts 文件夹的父目录。例如在 SuperMap iObjects Java 中默认自带了 fonts,从而设置 SUPERMAP_ROOT 如下:

export SUPERMAP_ROOT=/SuperMap iObjects Java 的安装目录的父目录

设置使用 QT 自带的 offscreen 插件:

export QT_QPA_PLATFORM='offscreen'

4. 执行 source /etc/profile 命令,使上述设置生效。

5. 执行 echo 命令检查设置是否正确。

echo $LANG

echo $SUPERMAP_ROOT

echo $LD_LIBRARY_PATH

 

注意:若使用 Oracle 数据源,且数据库的编码方式为 GBK,请将 NLS_LANG 参数设置为"simplified chinese"_china.zhs16gbk,如下:

export NLS_LANG="simplified chinese"_china.zhs16gbk

涉密环境注意

在涉密信创环境下的中间件部署 iServer 时,注意:

1. 除了需要 iServer war 包外,还需要一个包含系统依赖库的 rpm 包或 deb 包,您可以根据系统的包管理工具选择适合的包进行安装。

2. 安装 iserver_support 依赖库:

目录/opt/SuperMap/iserver_support/objectsjava/bin/下执行如下命令:

export LD_LIBRARY_PATH=/opt/SuperMap/iserver_support/objectsjava/bin

ldd -r libSuToolkit.so | grep not

ldd -r libWrapjCore.so | grep not

ldd libWrapjMapping.so | grep not

果检测到没有缺库,可清除 /opt/SuperMap/iserver_support/objectsjava/systemlibs 目录下的内容;

如果检测到有缺库,请查看/opt/SuperMap/iserver_support/objectsjava/systemlibs 目录下是否包含缺少的库。例如:缺少 libssl.so、libcrypto.so.10 库,执行如下命令,删除 libssl.so、libcrypto.so.10 库之外的其他多余的库。

ls | grep -v "ssl" | grep -v "cryp" | xargs rm

3. 环境变量配置

涉密系统安全原因,无法修改 /etc/profile 文件并生效,或仅在当前目录下生效。可通过修改 “~/.bashrc”配置文件生效。

export UGO_HOME=/opt/SuperMap/iserver_support/objectsjava/

export SUPERMAP_ROOT=/opt/SuperMap/iserver_support

export LD_LIBRARY_PATH=$UGO_HOME/bin:$LD_LIBRARY_PATH

export PATH= $UGO_HOME/bin:$PATH

export LANG=zh_CN.UTF-8

其中,SUPERMAP_ROOT 环境变量指向字体库 fonts 文件夹的父目录。

source /root/.bashrc

在控制台中输出如下变量,输出的路径均正常。

echo $UGO_HOME

echo $SUPERMAP_ROOT

echo $LD_LIBRARY_PATH

echo $PATH

在 iobjectsjava/bin 目录下执行以下命令,没有任何输出。

ldd libWrapj* | grep not

ldd libSuEngine* | grep not