本文使用Windows环境普元中间件Primeton AppServer6.5(以下简称PAS)部署SuperMap iServer
一、部署前准备
-
本文使用SuperMap iServer 11.0.1(10.2.1版本同理可以使用)
- supermap-iserver-11.0.1-war.zip
-
安装完成的普元中间件PAS
《普元中间件Primeton AppServer6.5安装(Windows)》
二、配置SuperMap iServer所需环境变量
2.1 解压组件依赖
解压SuperMap iServer War包中的support_win_x64.zip,得到support_win_x64文件夹
2.2 将组件bin环境变量配置到系统环境变量path中
2.3 配置SuperMap iServer许可
(初次安装默认90天试用许可,部署步骤略)
三、修改普元中间件PAS配置
3.1 修改普元中间件默认
由于普元中间件6.5 使用commons.io版本过低,故进行更新。删除以下jar包中关于org.apache.commons.io 下所有东西
D:\primeton\PAS\pas6\pas\modules\autostart\org.apache.felix.webconsole.jar
从SuperMap iServer包中找一个 commons-io-2.11.0.jar放到D:\primeton\PAS\pas6\pas\modules目录下
这边已经给大家准备好,删除后jar和commons-io-2.11.0.jar,可以直接替换,下载地址
- 链接:https://pan.baidu.com/s/1tGg9VpAiZgwgL_DQ-3BKXQ?pwd=xc08
- 提取码:xc08
3.2 启动普元中间件PAS
- 通过浏览器访问:http://localhost:6888
- PAS V6.5 管理员用户名:admin,默认密码:manager
3.3 修改JVM大小
由于SuperMap iServer产品包超过1G大小,默认参数会导致部署时会报“尝试分配大于当前分配的Java堆空间的缓冲区”错误,所以需要修改默认JVM值。
3.3.1 default-config,将默认1024m修改为4096m
3.3.2 server-config,将默认1024m修改为4096m
3.4 修改完成后再次重启普元中间件PAS
四、部署SuperMap iServer
4.1 部署SuperMap iServer
选择应用程序,部署
选择SuperMap iServer War包
发布时,取消勾选隐式CDI,点击右上角确定按钮
4.2 验证SuperMap iServer
部署成功后,选择访问
选择8080端口
进入SuperMap iServer初始化向导
最终访问某一个地图服务可以正常出图,至此SuperMap iServer部署完成
五、常见报错
5.1 部署iServer war包报错,提示“尝试分配大于当前分配的Java堆空间的缓冲区”
- 问题原因:War包大小超过默认普元中间件JVM 1024m值
- 解决方法:参考3.3 修改JVM大小,修改完成后重启普元中间件PAS
5.2 如何查看SuperMap iServer启动日志
可以查看普元中间件PAS日志,具体路径如下:
D:\primeton\PAS\pas6\pas\domains\domain1\logs
5.3 部署iServer War包访问500错误
-
问题原因:查看普元中间件PAS日志,发现启动参数-Djava.library.path中未包含组件bin路径。
-
解决办法:参考2.2,将组件bin目录配置到系统环境变量Path最前面,重启普元中间件PAS
5.3 部署iServer war包报400错误,发现日志中含有“java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.closeQuietly”错误
- 问题原因:普元内置commons.io版本过低需要升级
[2022-11-16T13:47:38.572+0800] [Primeton AppServer 6.5] [SEVERE] [] [] [tid: _ThreadID=42 _ThreadName=Thread-10] [timeMillis: 1668577658572] [levelValue: 1000] [[
java.lang.NoSuchMethodError: org.apache.commons.io.IOUtils.closeQuietly(Ljava/io/Closeable;)V
at com.supermap.services.util.Tool.listResource(SourceFile:1707)
at com.supermap.services.components.spi.ServiceDiscovery.discover(SourceFile:50)
at com.supermap.server.config.impl.MetaInfoParser.loadMetaInfoFromResourcePath(SourceFile:107)
at com.supermap.server.config.impl.MetaInfoParser.a(SourceFile:57)
at com.supermap.server.config.impl.MetaInfoParser.parse(SourceFile:29)
- 解决办法:参考3.1,替换commons.io版本,重启普元中间件PAS
5.4 部署iServer War包400错误“java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB. open utf8([BI)V”
- 问题原因:当前普元中间件PAS有单独配置sqlite.tmpdir导致冲突。
- 解决办法:删除sqlite.tmpdir,重启普元中间件PAS
(转发请注明出处:https://blog.csdn.net/zhang90522 如发现有错,请留言,谢谢)