配置JDK(1.8或以上版本)
Java 开发工具包(JDK),其中包含了 Java 运行环境(JRE),本产品定制开发工程支持的 JDK 版本为 1.8 及以上。Java 开发环境工具(IDE)推荐使用IntelliJ IDEA、Eclipse。
安装完 JDK 后配置环境变量,计算机→属性→高级系统设置→高级→环境变量→系统变量→新建 JAVA_HOME 变量,变量值填写 jdk 的安装目录。
注意:
- 若使用 32 位的 JRE/JDK,则需要 32 位的 Eclipse;
- 若使用 64 位的 JRE/JDK,则需要 64 位的 Eclipse。
配置 SuperMap iPortal 许可
SuperMap iPortal 许可的配置请参见:许可配置说明。
SuperMap iPortal 8C SP1或更新版本,已经不依赖 SuperMap Objects Java,但是运行许可需要依赖动态库文件 HASPJava.dll( 64位的为 HASPJava_x64.dll)。
您可以通过配置如下环境变量使用iPortal中自带的动态库:
%SuperMap iPortal_HOME%,指向SuperMap iPortal 产品包的安装目录,然后在 Path 的变量值后面输入类似:%SuperMap iPortal_HOME%\support\SuperMap_License。
配置工程
下面以 %SuperMap iPortal_HOME%\samples\code\CustomPortal 目录下的 Custom_Portal 定制工程为例,详细介绍一下在IntelliJ IDEA、Eclipse中工程的配置步骤。
IntelliJ IDEA
第一步:启动IntelliJ IDEA,选择打开项目,选择%SuperMap iPortal_HOME%\samples\code\CustomPortal\Custom_Portal 目录。
第二步:点击文件->项目结构->项目设置->项目,修改SDK为11及以上。

第三步:点击文件->项目结构->项目设置->模块,点击+,选择导入模块,选择%SuperMap iPortal_HOME%\samples\code\CustomPortal \Custom_Portal目录作为模块导入,接着选择从外部模型导入模块,并选择Eclipse,后续页面选项遵循默认即可。

第四步:点击文件->项目结构->项目设置->库,点击+,选择新建JAVA项目库,分别导入%SuperMap iPortal_HOME%\webapps\iportal\WEB-INF\lib 及 %SuperMap iPortal_HOME%\lib\servlet-api.jar,并均将两个库添加至Custom_Portal模块中。

第五步:将%SuperMap iPortal_HOME%\webapps\iportal 目录下的所有文件夹(不包括%SuperMap iPortal_HOME%\webapps\iportal\WEB-INF 目录下的 lib 文件夹和 cache 文件夹)复制到 %SuperMap iPortal_HOME%\samples\code\CustomPortal \Custom_Portal\WebContent 目录下,与已有的文件夹进行合并。
第六步:在 %SuperMap iPortal_HOME%\samples\code\CustomPortal \Custom_Portal\WebContent\WEB-INF 目录下新建 lib 文件夹,将位于 %SuperMap iPortal_HOME%\webapps\iportal\WEB-INF\lib 目录下的以下 jar 包,复制到 %SuperMap iPortal_HOME%\samples\code\CustomPortal \Custom_Portal\WebContent\WEB-INF\lib 目录下:
- iportal-adminui-*-*-*.jar
- iportal-webui-*-*-*.jar
- 所有以webjar开头的jar包
第七步:在IntelliJ IDEA中启动IportalServer.java,启动成功可以获取到SuperMap iPortal的地址。

注意:
- 定制开发环境下建议使用自己独立部署的 Elasticsearch 搜索服务器,详情请见: 搜索服务配置。
- 关于环境变量缺失可能会导致启动失败的问题,点击运行->编辑配置->添加新配置,选择应用程序
- 对于linux机器,需要将 %SuperMap iPortal_HOME%/support/SuperMap_License 添加进环境变量 LD_LIBRARY_PATH 中。如果未配置,则启动可能报错,如果配置为空字符串,则可能无法识别到本地的许可。
- 对于windows机器,需要将 %SuperMap iPortal_HOME%/support/SuperMap_License 添加进环境变量 PATH 中。如果未配置,则可能无法识别到本地的许可
- 为了确保正确的启动,建议设置环境变量 iPortal=true ,否则在部分系统上存在开发代码错误的启动为iserver模式
-

Eclipse
启动 Eclipse,选择 Window > Preferences,在 Preferences 对应的窗口左侧菜单中选择 General 并展开,选中 Workspace,在右侧菜单中 Text file encoding 下面勾选 Other,选择 UTF-8,同样,在 New text file line delimiter 下面勾选 Other,选择 Unix,如下图所示,点击 OK。

第一步:将 %SuperMap iPortal_HOME%\samples\code\Custom_Portal 目录拷贝到 Eclipse 的工作目录,如:D:\SuperMap\eclipse-workspace。
第二步:将%SuperMap iPortal_HOME%\webapps\iportal 目录下的所有文件夹(不包括%SuperMap iPortal_HOME%\webapps\iportal\WEB-INF 目录下的 lib 文件夹和 cache 文件夹)复制到 D:\SuperMap\eclipse-workspace\Custom_Portal\WebContent 目录下,与已有的文件夹进行合并。
第三步:在 D:\SuperMap\eclipse-workspace\Custom_Portal\WebContent\WEB-INF 目录下新建 lib 文件夹,将位于 %SuperMap iPortal_HOME%\webapps\iportal\WEB-INF\lib 目录下的以下 jar 包,复制到 D:\SuperMap\eclipse-workspace\Custom_Portal\WebContent\WEB-INF\lib 目录下:
- iportal-adminui-*-*-*.jar
- iportal-webui-*-*-*.jar
- 所有以webjar开头的jar包
第四步:在 Eclipse 中引入定制开发工程,点击 Eclipse 的 File 菜单,然后点击 Import,在 Import 选项卡中选择 General 并展开,点击 Existing Projects into Workspace,然后点击 Next,找到位于 D:\SuperMap\eclipse-workspace 目录下的工程 Custom_Portal,如下图所示,点击 Finish,导入项目完成。

第五步:在 Eclipse 中,右键点击 Custom_Portal 工程,选择 Build Path > Configure Build Path,在弹出的对话框中点击 Libraries 选项卡,拖动下方滚动条选中 JRE System Library,然后点击右侧的 Edit 按钮,选择自己本机配置的 JDK 11 版本,如下图所示:

然后,点击 Finish。
第六步:配置依赖的 jar 包。在 Eclipse 中,右键点击 Custom_Portal 工程,选择 Build Path > Configure Build Path,在弹出的对话框中点击 Libraries 选项卡,点击 Add External JARs 添加以下 jar:
- 选择位于 %SuperMap iPortal_HOME%\webapps\iportal\WEB-INF\lib 目录下所有的 jar 包
- 选择位于 %SuperMap iPortal_HOME%\lib 目录下的 servlet-api.jar

然后,点击 OK。
第七步:在 Eclipse 工程里创建“resources”目录,与“src”同级。同时在“resources”目录下,创建子目录“templates”:

第八步:右键点击 Custom_Portal 工程下的 IportalServer.java 类(位于 src > com.supermap.iportal.web.custom.server 包中),然后选择 Run as > Java Application ,服务启动成功,可通过 localhost:8091/iportal 进行访问。

注意:
- 定制开发环境下建议使用自己独立部署的 Elasticsearch 搜索服务器,详情请见: 搜索服务配置。
- 关于环境变量缺失可能会导致启动失败的问题
- 对于linux机器,需要将%SuperMap iPortal_HOME%/support/SuperMap_License 添加进环境变量 LD_LIBRARY_PATH 中。如果未配置,则启动可能报错,如果配置为空字符串,则可能无法识别到本地的许可。
- 对于windows机器,需要将%SuperMap iPortal_HOME%/support/SuperMap_License 添加进环境变量 PATH 中。如果未配置,则可能无法识别到本地的许可
- 为了确保正确的启动,建议设置环境变量 iPortal=true ,否则在部分系统上存在开发代码错误的启动为iserver模式
配置工程目录说明
工程配置完成后,会在相应的目录下生成所需要的文件,如下图所示:
IntelliJ IDEA:%SuperMap iPortal_HOME%\samples\code\CustomPortal \Custom_Portal\WebContent
Eclipse:D:\SuperMap\eclipse-workspace\Custom_Portal\WebContent\WEB-INF

- backup 文件夹:备份文件夹
- classes 文件夹:存放 iPortal 部署的静态资源、模版等信息
- config 文件夹:存放 iPortal 所有的国际化资源配置文件
- iportaldata 文件夹:存放 iPortal 的数据库文件
- lib 文件夹:存放 iPortal 依赖的 jar 文件
- records 文件夹:存放数据库文件