Geoserver服务器开发——Geoserver源码部署问题及解决方案
目录
-
Geoserver概述
GeoServer是一个基于java的软件服务器,允许用户查看和编辑地理空间数据。基于开放地理空间联盟(OGC)开放标准,GeoServer在地图创建和数据共享方面具有很大的灵活性。
-
Geoserver源码下载
Geoserver作为开源资源,在Geoserver官网可以下载到源码,本人通过Geoserver官网提供了多种形式的下载形式,如zip、tar.gz以及通过GitHub下载。本人通过GitHub下载的最新的稳定版本:2.15.0。在项目部署上按照官方开发手册进行,目前开发手册提供的版本是2.13.2,再按照开发手册提供的步骤进行中间会有很多的细节问题导致项目部署失败,在接下来项目部署中会详细说明,并给出相关的解决方案。
-
项目部署环境准备
Oracle官网下载jdk,安装Java jdk,本机部署1.8环境;
Maven官网下载Maven,本机部署为3.6版本
Idean安装,本机为2017版本(试用)
-
maven部署项目仓库
本机Idea项目都保存在了D:\ideaProject目录下,将下载的Geoserver源码拷贝到该路径下,建议项目名称仍未geoserver,在D:\ideaProject\geoserver\src目录下打开命令窗,执行mvn install命令,下载相关依赖的jar包。执行成功的最终界面如下:
-
构建项目
启动idea,导入项目,在选择目录中选中D:\ideaProject\geoserver\src下的pom.xml文件,按照官方手册的idea启动项目进行相关不配置。最后启动即可。在浏览器中输入首页网址http://localhost:8080/geoserver/web,出现如下页面,即表示项目部署成功。
-
问题及解决方法
首先吐槽一下现有网上的Geoserver的一些博客,完完全全是按照官方开发手册进行部署,但是官方手册有很多瑕疵,很多细节行的东西没有涉及到,而一些博主在项目部署的相关博客中只说在执行mvn install命令下载依赖包时会出现错误,但都没有给出问题的解决方式,不利于交流学习。先给出在下遇到的问题
(1)在执行mvn install命令下载依赖包时,一些博主为了避过项目的测试,执行了mvn install -Dmaven.test.skip=true,完全没有必要,在执行一些jar包下载的时候,在下载到gs-wms模块相关的依赖包时,出现了如下错误:No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize。解决方案很简单,找到该模块的pom文件,在build标签下添加<defaultGoal>compile</defaultGoal>即可。在修改之后可以按照命令行提供的提示,修改错误执行的命令(汗,忘记了,所以看自己命令行提示吧),如果在下载后面的几个模块依赖的包时出现了该错误,也是按照这种方式解决。在下载执行这步操时出现了两次这个错误,按照这种方式解决了。
(2)接下来在idea中配置相关环境时,进行了如下配置,但是在项目启动时,提示某些资源找不到或者某些路径不存在,。其实是因为在配置的项目资源时,没有配置相关的资源。本人下载了Geoserver的安装包,进行安装,在Geoserver的data路径中存在默认的资源,将该geoserver\data_dir下的资源拷贝到下图vm options配置的路径下即可。
-
总结
虽然在部署该源码项目时出现了错误,在Geoserver一些项目部署博客中并没有出现相关解决方案,自己也要尝试分析出现问题的原因,耐心、细心很重要。我也要很感谢公司的一些架构老大哥帮解决很多的测试案例问题。以后将会持续分析Geoserver项目源码,做出一些需求扩展。
本博客为原创博客,拥有绝对版权,转载请标明源地址:https://blog.csdn.net/luojingweikai/article/details/88654177
转载自:https://blog.csdn.net/luojingweikai/article/details/88654177