Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决

       之前研究GeoServer源码时用Eclipse启动了该工程,今天重新跑了刚发布的GeoServer 2.13.0源码。在官网Quickstart上,两种环境Eclipse和Intellij都有详细介绍。GeoServer是基于java编写的开源的地理信息程序,可以方便的发布和管理地图数据,具体介绍可进入官网。下面分别介绍Eclipse和Intellij启动GeoServer源码项目:

  • Eclipse启动
1.jdk环境,jdk1.8.0以上,设置环境变量(Linux),vi ~/.bashrc,输入
export JAVA_HOME=/home/shanks/software/jdk1.8.0_161
export JRE_HOME=/home/shanks/software/jdk1.8.0_161/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
2.下载GeoServer源码,解压
3.安装Eclipse
4.Maven下载,设置环境变量
export MAVEN_HOME=/home/shanks/software/apache-maven-3.3.9
export PATH=$PATH:$MAVEN_HOME/bin

命令行执行source ~/.bashrc

5.进入GeoServer源码工程下src目录,命令行输入:
mvn -DskipTests clean install
6.构建eclipse工程
mvn eclipse:eclipse
7.打开eclipse,Import -> General -> Existing Projects into Workspace,导入成功后视图如下:

      Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决_第1张图片

8.启动工程

运行下图所示Start.java

      Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决_第2张图片

        启动后,即可在浏览器打开网页:http://localhost:8080/geoserver/web。GeoSever初始帐号:admin,密码:geoserver,打开后:

Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决_第3张图片

9.构建工程时可能会出现“Access restriction: The type 'RenderingEngine' is not API (restriction on ...”等,可按如下解决:

项目右键–>Properties–>Java Build Path-->Libraries,找到"JRE System Libraries",点击Remove。

Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决_第4张图片

接着点击右边的Add Library,将"JRE System Libraries"加入,最后Apply。

  • Intellij启动

启动比Eclipse简单,导入项目和启动即可。本例idea版本是2018.1,启动中可能出现如下问题:

1.找不到类“类 ASTAxisId   位置: 程序包 org.geoserver.wcs.kvp.rangesubset......”等

wcs1_1模块类RangeSubsetKvpParser未找到相应的类,“import org.geoserver.wcs.kvp.rangesubset.ASTAxisId”失败,Eclipse下就不会出现这个问题。最简单的解决方法是将wcs1_1模块移除,不编译,在去下载一个wcs1_1的jar包添加到library,如下图:

      Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决_第5张图片

启动源码项目主要是调试和看源码,上述操作可以消除找不到相关类的问题,当然可以从最根本上找到原因,这里没去深究。

2.启动时jetty报“ Web application not found src/main/webapp”异常解决

在“Edit Configrutions”中配置:

Eclipse、Intellij Idea启动GeoServer源码工程和过程问题解决_第6张图片

将Working directory改为“$MODULE_DIR$”。VM参数-DGEOSERVER_DATA_DIR是设置GeoServer数据目录,包括创建的工作区、样式、服务等。最后就可以正确的启动项目了。

你可能感兴趣的:(geoserver,软件环境,gis)