配置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的地址。

注意:

  1. 定制开发环境下建议使用自己独立部署的 Elasticsearch 搜索服务器,详情请见: 搜索服务配置
  2. 关于环境变量缺失可能会导致启动失败的问题,点击运行->编辑配置->添加新配置,选择应用程序
    1. 对于linux机器,需要将 %SuperMap iPortal_HOME%/support/SuperMap_License  添加进环境变量 LD_LIBRARY_PATH 中。如果未配置,则启动可能报错,如果配置为空字符串,则可能无法识别到本地的许可。
    2. 对于windows机器,需要将 %SuperMap iPortal_HOME%/support/SuperMap_License  添加进环境变量 PATH 中。如果未配置,则可能无法识别到本地的许可
    3. 为了确保正确的启动,建议设置环境变量 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 进行访问。

注意:

  1. 定制开发环境下建议使用自己独立部署的 Elasticsearch 搜索服务器,详情请见: 搜索服务配置
  2. 关于环境变量缺失可能会导致启动失败的问题
    1. 对于linux机器,需要将%SuperMap iPortal_HOME%/support/SuperMap_License  添加进环境变量 LD_LIBRARY_PATH 中。如果未配置,则启动可能报错,如果配置为空字符串,则可能无法识别到本地的许可。
    2. 对于windows机器,需要将%SuperMap iPortal_HOME%/support/SuperMap_License  添加进环境变量 PATH 中。如果未配置,则可能无法识别到本地的许可
    3. 为了确保正确的启动,建议设置环境变量 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 文件夹:存放数据库文件