zoukankan      html  css  js  c++  java
  • Eclipse下建立geoserver源码工程

    摘要:本文详细阐述,如何基于geoserver源码构建eclipse工程文件,操作过程中除用到jdk、eclipse以外,还有git和maven,操作系统为windows8。

    1安装Git

          从(http://git-scm.com/download/win),下载得到Git-1.9.0-preview2014021 7.exe文件,直接安装即可。安装成功后,在任何地方右击鼠标都会有菜单“Git GUI Here”和“Git Bash Here”。

    2通过git可视化界面程序checkout geoserver源码。

           点击“Git GUI Here”将出现如下界面,选择“克隆已有版本”,进入源码克隆界面,输入相应的source Location(源码所在位置git://github.com/geoserver/geoserver.git) 和 Target Location(本地存储位置)。

        注意:此处设置target directory时,点击浏览按钮选择目标文件夹,完成后要在路径后面添加“克隆”的文件夹名称。

     

        Checkout 得到的源码结构如下:

     3下载Maven

          (http://maven.apache.org/download.cgi)选择apache-maven-3.21-bin.zip,maven是命令行程序,将下载得到的压缩包解压,在使用时临时指   定PATH变量即可。

     解压后maven文件的结构如下:

    4通过maven将源码构建为工程

        4.1打开cmd,将目录跳转至源码所在目录下的src文件中。

        4.2执行命令:

    Set PATH = “maven_dir/bin”;%PATH%

       临时将maven的路径添加至环境变量中。

    4.3执行命令:

    mvn clean install

    mvn -DskipTests clean install

         注意:第一条命令在构建工程的同时执行测试用例测试类文件,在命令执行过程中有可能会出现错误;第二条命令在构建工程时,不进行测试,不会有测试不通过的异常。

         通过maven构建工程

    [INFO] ------------------------------------------------------------------------

    [INFO] Reactor Summary:

    [INFO]

    [INFO] GeoServer ......................................... SUCCESS [  5.916 s]

    [INFO] Core Platform Module .............................. SUCCESS [  5.763 s]

    [INFO] Open Web Service Module ........................... SUCCESS [  6.644 s]

    [INFO] Main Module ....................................... SUCCESS [01:15 min]

    [INFO] GeoServer Security Modules ........................ SUCCESS [  0.607 s]

    [INFO] GeoServer JDBC Security Module .................... SUCCESS [  8.048 s]

    [INFO] GeoServer LDAP Security Module .................... SUCCESS [  8.002 s]

    [INFO] Web Coverage Service Module ....................... SUCCESS [  3.605 s]

    [INFO] Web Coverage Service 1.0 Module ................... SUCCESS [  6.524 s]

    [INFO] Web Coverage Service 1.1 Module ................... SUCCESS [ 10.715 s]

    [INFO] Web Coverage Service 2.0 Module ................... SUCCESS [ 13.674 s]

    [INFO] Web Feature Service Module ........................ SUCCESS [ 18.692 s]

    [INFO] Web Map Service Module ............................ SUCCESS [03:41 min]

    [INFO] KML support for GeoServer ......................... SUCCESS [01:17 min]

    [INFO] GeoWebCache (GWC) Module .......................... SUCCESS [03:34 min]

    [INFO] REST Support Module ............................... SUCCESS [  3.981 s]

    [INFO] REST Configuration Service Module ................. SUCCESS [01:23 min]

    [INFO] GeoServer Web Modules ............................. SUCCESS [  0.162 s]

    [INFO] Core UI Module .................................... SUCCESS [02:46 min]

    [INFO] WMS UI Module ..................................... SUCCESS [  5.256 s]

    [INFO] GWC UI Module ..................................... SUCCESS [ 10.776 s]

    [INFO] WFS UI Module ..................................... SUCCESS [  3.262 s]

    [INFO] Demoes Module ..................................... SUCCESS [01:08 min]

    [INFO] WCS UI Module ..................................... SUCCESS [  4.632 s]

    [INFO] Security UI Modules ............................... SUCCESS [  0.155 s]

    [INFO] Security UI Core Module ........................... SUCCESS [  7.840 s]

    [INFO] Security UI JDBC Module ........................... SUCCESS [  4.315 s]

    [INFO] Security UI LDAP Module ........................... SUCCESS [ 12.600 s]

    [INFO] GeoServer Web Application ......................... SUCCESS [01:42 min]

    [INFO] Community Space ................................... SUCCESS [  7.778 s]

    [INFO] GeoServer Extensions .............................. SUCCESS [  0.226 s]

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time: 19:21 min

    [INFO] Finished at: 2014-03-05T16:52:55+08:00

    [INFO] Final Memory: 188M/368M

    [INFO] ------------------------------------------------------------------------

    D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305src>mvn -DskipTests clean install

    4.4通过maven创建eclipse工程文件

       执行命令:

    mvn eclipse:eclipse

       命令行会出现如下结果:

    [INFO] ------------------------------------------------------------------------

    [INFO] Reactor Summary:

    [INFO]

    [INFO] GeoServer ......................................... SUCCESS [ 10.022 s]

    [INFO] Core Platform Module .............................. SUCCESS [  6.761 s]

    [INFO] Open Web Service Module ........................... SUCCESS [  4.690 s]

    [INFO] Main Module ....................................... SUCCESS [  8.291 s]

    [INFO] GeoServer Security Modules ........................ SUCCESS [  0.041 s]

    [INFO] GeoServer JDBC Security Module .................... SUCCESS [  0.759 s]

    [INFO] GeoServer LDAP Security Module .................... SUCCESS [  1.313 s]

    [INFO] Web Coverage Service Module ....................... SUCCESS [  0.299 s]

    [INFO] Web Coverage Service 1.0 Module ................... SUCCESS [  1.545 s]

    [INFO] Web Coverage Service 1.1 Module ................... SUCCESS [  4.898 s]

    [INFO] Web Coverage Service 2.0 Module ................... SUCCESS [  0.354 s]

    [INFO] Web Feature Service Module ........................ SUCCESS [  0.502 s]

    [INFO] Web Map Service Module ............................ SUCCESS [  3.534 s]

    [INFO] KML support for GeoServer ......................... SUCCESS [  1.063 s]

    [INFO] GeoWebCache (GWC) Module .......................... SUCCESS [  9.024 s]

    [INFO] REST Support Module ............................... SUCCESS [  0.285 s]

    [INFO] REST Configuration Service Module ................. SUCCESS [  0.484 s]

    [INFO] GeoServer Web Modules ............................. SUCCESS [  0.032 s]

    [INFO] Core UI Module .................................... SUCCESS [  0.922 s]

    [INFO] WMS UI Module ..................................... SUCCESS [  0.338 s]

    [INFO] GWC UI Module ..................................... SUCCESS [  1.009 s]

    [INFO] WFS UI Module ..................................... SUCCESS [  0.274 s]

    [INFO] Demoes Module ..................................... SUCCESS [  0.408 s]

    [INFO] WCS UI Module ..................................... SUCCESS [  0.604 s]

    [INFO] Security UI Modules ............................... SUCCESS [  0.033 s]

    [INFO] Security UI Core Module ........................... SUCCESS [  0.319 s]

    [INFO] Security UI JDBC Module ........................... SUCCESS [  0.331 s]

    [INFO] Security UI LDAP Module ........................... SUCCESS [  0.401 s]

    [INFO] GeoServer Web Application ......................... SUCCESS [  0.595 s]

    [INFO] Community Space ................................... SUCCESS [  0.032 s]

    [INFO] GeoServer Extensions .............................. SUCCESS [  0.030 s]

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time: 01:09 min

    [INFO] Finished at: 2014-03-05T17:06:55+08:00

    [INFO] Final Memory: 119M/447M

    [INFO] ------------------------------------------------------------------------

    D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305src>

    5将构建的java工程导入到eclipe中

           5.1打开eclipse,选择window下的preference,在对话框中选择java->buildpath->Classpath Variables,点击“new”将本地的maven     repository路径作为classpath变量添加至工作空间中。

    5.2在eclipse中点击 “file”选择“import”将创建的eclipse工程导入至eclipse中。

    选择geoserver/src文件夹

    工程导入后结构如下:

    6运行工程

    Console中出现如下记录:

    log4j:WARN File option not set for appender [geoserverlogfile].

    log4j:WARN Are you using FileAppender instead of ConsoleAppender?

    三月 05, 2014 9:31:37 下午 org.geoserver.platform.GeoServerExtensions checkContext

    警告: Extension lookup occured, but ApplicationContext is unset.

    05 三月 21:31:37 INFO [geoserver.global] -

    ----------------------------------

    - GEOSERVER_DATA_DIR: D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305srcwebappsrcmainwebappdata

    ----------------------------------

    05 三月 21:31:38 INFO [org.geoserver] - Loaded style 'line'

    05 三月 21:31:38 INFO [org.geoserver] - Loaded style 'point'

    05 三月 21:31:38 INFO [org.geoserver] - Loaded style 'polygon'

    05 三月 21:31:38 INFO [org.geoserver] - Loaded style 'raster'

    05 三月 21:31:38 INFO [org.geoserver] - Loaded default workspace it.geosolutions

    05 三月 21:31:38 INFO [org.geoserver] - Loaded workspace 'it.geosolutions'

    05 三月 21:31:38 INFO [org.geoserver] - Loaded workspace 'topp'

    05 三月 21:31:38 INFO [storage.DefaultStorageFinder] - ************************************************************************************************************

    05 三月 21:31:38 INFO [storage.DefaultStorageFinder] - *** Found System environment variable TEMP set to C:UserssmartmapAppData

    LocalTemp, using it as the default prefix. ***

    05 三月 21:31:38 INFO [storage.DefaultStorageFinder] - *************************************************************************************************************

    05 三月 21:31:38 INFO [config.XMLConfiguration] - Will look for geowebcache.xml in 'C:UserssmartmapAppDataLocalTempgeowebcache'

    05 三月 21:31:38 INFO [gwc.layer] - Initializing GWC configuration based on GeoServer's Catalog

    05 三月 21:31:38 INFO [gwc.layer] - GeoServer TileLayer store base directory is: D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305srcwebappsrcmainwebappdatagwc-layers

    05 三月 21:31:38 INFO [gwc.layer] - Loading tile layers from D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305srcwebappsrcmainwebappdatagwc-layers

    05 三月 21:31:38 INFO [gwc.layer] - GWC configuration based on GeoServer's Catalog loaded successfuly

    05 三月 21:31:38 INFO [layer.TileLayerDispatcher] - Configuration GeoServer Catalog Configuration contained no layers.

    05 三月 21:31:38 INFO [config.XMLConfiguration] - Found configuration file in C:UserssmartmapAppDataLocalTempgeowebcache

    05 三月 21:31:38 WARN [config.XMLConfiguration] - *******************************************************************

    05 三月 21:31:38 WARN [config.XMLConfiguration] - *** GWC configuration validation error: cvc-elt.1: 找不到元素 'gwcConfiguration' 的声明。

    05 三月 21:31:38 WARN [config.XMLConfiguration] - *** Will try to use configuration anyway. Please check the order of declared

    elements against the schema.

    05 三月 21:31:38 WARN [config.XMLConfiguration] - ************************************************************

    05 三月 21:31:38 INFO [config.XMLConfiguration] - Initializing GridSets from C:UserssmartmapAppDataLocalTempgeowebcache

    05 三月 21:31:38 INFO [config.XMLConfiguration] - Initializing layers from C:UserssmartmapAppDataLocalTempgeowebcache

    05 三月 21:31:38 INFO [layer.TileLayerDispatcher] - Configuration C:UserssmartmapAppDataLocalTempgeowebcache contained no layers.

    05 三月 21:31:39 INFO [diskquota.ConfigLoader] - DiskQuota configuration not found: C:UserssmartmapAppDataLocalTempgeowebcache

    geowebcache-diskquota.xml

    05 三月 21:31:39 INFO [diskquota.ConfigLoader] - DiskQuota configuration not found: C:UserssmartmapAppDataLocalTempgeowebcache

    geowebcache-diskquota.xml

    05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - Setting up disk quota periodic enforcement task

    05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - 0 layers configured with their own quotas.

    05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - 0 layers attached to global quota 500.0 MB

    05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - Disk quota periodic enforcement task set up every 10 SECONDS

    05 三月 21:31:39 INFO [org.geoserver] - Loaded service 'wfs', enabled

    05 三月 21:31:39 INFO [org.geoserver] - Loaded service 'wms', enabled

    05 三月 21:31:39 INFO [org.geoserver] - Loaded service 'wcs', enabled

    05 三月 21:31:39 INFO [gwc.config] - Initializing GeoServer specific GWC configuration from gwc-gs.xml

    05 三月 21:31:39 INFO [ows.OWSHandlerMapping] - Mapped URL path [/gwc/service/**] onto handler 'dispatcher'

    05 三月 21:31:39 INFO [geowebcache.GeoWebCacheDispatcher] - Invoked setServletPrefix(gwc)

    05 三月 21:31:39 INFO [georss.GeoRSSPoller] - Initializing GeoRSS poller in a background job...

    05 三月 21:31:39 INFO [georss.GeoRSSPoller] - No enabled GeoRSS feeds found, poller will not run.

    05 三月 21:31:40 INFO [rest.RESTDispatcher] - Created RESTDispatcher with 14 paths

    05 三月 21:31:40 INFO [wms.WMSService] - Will NOT recombine tiles for non-tiling clients.

    05 三月 21:31:40 INFO [wms.WMSService] - Will proxy requests to backend that are not getmap or getcapabilities.

    05 三月 21:31:40 INFO [ows.OWSHandlerMapping] - Mapped URL path [/ows/**] onto handler 'dispatcher'

    05 三月 21:31:40 INFO [ows.OWSHandlerMapping] - Mapped URL path [/ows] onto handler 'dispatcher'

    05 三月 21:31:40 INFO [org.geoserver] - GeoServer configuration lock is enabled

    05 三月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wfs/*] onto handler 'dispatcher'

    05 三月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/TestWfsPost] onto handler 'wfsTestServlet'

    05 三月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wfs] onto handler 'dispatcher'

    05 三月 21:31:45 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wms/*] onto handler 'dispatcher'

    05 三月 21:31:45 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wms] onto handler 'dispatcher'

    05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/animate] onto handler 'dispatcher'

    05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/animate/*] onto handler 'dispatcher'

    05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wcs] onto handler 'dispatcher'

    05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wcs/**] onto handler 'dispatcher'

    05 三月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml] onto handler 'dispatcher'

    05 三月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml/*] onto handler 'dispatcher'

    05 三月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml/icon/**/*] onto handler 'kmlIconService'

    在浏览器中输入http://localhost:8080/geoserver/web/可返回geoserver主页。如下图所示。

    Reference

    [1]Quickstart http://docs.geoserver.org/stable/en/developer/quickstart/index.html

    [2]maven guide http://docs.geoserver.org/latest/en/developer/maven-guide/index.html

  • 相关阅读:
    LeetCode Flatten Binary Tree to Linked List
    LeetCode Longest Common Prefix
    LeetCode Trapping Rain Water
    LeetCode Add Binary
    LeetCode Subsets
    LeetCode Palindrome Number
    LeetCode Count and Say
    LeetCode Valid Parentheses
    LeetCode Length of Last Word
    LeetCode Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/gis-dolphin/p/geoserver-source-project.html
Copyright © 2011-2022 走看看