概述:本文讲述的是在eclipse中如何构建geoserver源码工程,其中触及到了jdk,github,marven等。
1、安装git
从(http://git-scm.com/download/win),取得Git⑴.9.0-preview2014021 7.exe文件,直接安装便可。安装成功后,在任何地方右击鼠标,出现以下图所示:
百度网盘下载
2、从git中签出geoserver源码
点击“Git GUI”将显现以下界面,选择“克隆已有版本”,进入源码克隆界面,输入响应的source Location(源码地点地位git://github.com/geoserver/geoserver.git) 和 Target Location(本地存储地位)。
克隆已有版本
输入参数
克隆完成后,源代码的组织以下:
3、下载并配置Maven
(http://maven.apache.org/download.cgi)选择apache-maven⑶.21-bin.zip,maven是号令行法式,将取得的紧缩包解压,解压后文件组织以下:
并添加D:softwarejavawebmavenin到path变量中。
maven百度网盘下载地址
4、通过maven构建源码
4.1 跳转路径到geoserver的src目录下
C:UsersAdministrator>d:
D:>cd D:opengisopengissrc
D:opengisopengissrc>
4.2
临时将maven的路径添加至环境变量中
履行以下命令:
Set PATH = “maven_dir/bin”;%PATH%
4.3 构建工程
履行以下命令,构建工程:
mvn clean install
mvn -DskipTests clean install
注意:第1条号令在构建的同时实行测试用例测试类文件,在号令实行进程中有可能会显现毛病;第2条号令在构建时,不进行测试,不会有测试不经过进程的异常。
履行命令输出:
[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] ------------------------------------------------------------------------
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、将工程导入eclipse并运行
5.1 添加Classpath Variables
打开eclipse,选择window下的preference,在对话框当选择java->buildpath->Classpath Variables,点击“new”将本地的maven
repository路径作为classpath变量添加至工作空间中。
5.2 导入工程
在eclipse中点击 “file”选择“import”将创建的eclipse导入至eclipse中。
import
存在的工程
选择geoserver/src文件夹
导入后,布局以下:
5.3 运行
运行start.java
Console中显现以下记录:
log4j:WARN File option not set for appender [geoserverlogfile].
log4j:WARN Are you using FileAppender instead of ConsoleAppender?
3月 05, 2014 9:31:37 下午 org.geoserver.platform.GeoServerExtensions checkContext
正告: Extension lookup occured, but ApplicationContext is unset.
05 3月 21:31:37 INFO [geoserver.global] -
----------------------------------
- GEOSERVER_DATA_DIR: D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305srcwebappsrcmainwebappdata
----------------------------------
05 3月 21:31:38 INFO [org.geoserver] - Loaded style ""line""
05 3月 21:31:38 INFO [org.geoserver] - Loaded style ""point""
05 3月 21:31:38 INFO [org.geoserver] - Loaded style ""polygon""
05 3月 21:31:38 INFO [org.geoserver] - Loaded style ""raster""
05 3月 21:31:38 INFO [org.geoserver] - Loaded default workspace it.geosolutions
05 3月 21:31:38 INFO [org.geoserver] - Loaded workspace ""it.geosolutions""
05 3月 21:31:38 INFO [org.geoserver] - Loaded workspace ""topp""
05 3月 21:31:38 INFO [storage.DefaultStorageFinder] - ************************************************************************************************************
05 3月 21:31:38 INFO [storage.DefaultStorageFinder] - *** Found System environment variable TEMP set to C:UserssmartmapAppData
LocalTemp, using it as the default prefix. ***
05 3月 21:31:38 INFO [storage.DefaultStorageFinder] - *************************************************************************************************************
05 3月 21:31:38 INFO [config.XMLConfiguration] - Will look for geowebcache.xml in ""C:UserssmartmapAppDataLocalTempgeowebcache""
05 3月 21:31:38 INFO [gwc.layer] - Initializing GWC configuration based on GeoServer""s Catalog
05 3月 21:31:38 INFO [gwc.layer] - GeoServer TileLayer store base directory is: D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305srcwebappsrcmainwebappdatagwc-layers
05 3月 21:31:38 INFO [gwc.layer] - Loading tile layers D:TechnologyLearnningopen_gisgeoservergeoserver_devprojectgeoserver20140305srcwebappsrcmainwebappdatagwc-layers
05 3月 21:31:38 INFO [gwc.layer] - GWC configuration based on GeoServer""s Catalog loaded successfuly
05 3月 21:31:38 INFO [layer.TileLayerDispatcher] - Configuration GeoServer Catalog Configuration contained no layers.
05 3月 21:31:38 INFO [config.XMLConfiguration] - Found configuration file in C:UserssmartmapAppDataLocalTempgeowebcache
05 3月 21:31:38 WARN [config.XMLConfiguration] - *******************************************************************
05 3月 21:31:38 WARN [config.XMLConfiguration] - *** GWC configuration validation error: cvc-elt.1: 找不到元素 ""gwcConfiguration"" 的声明。
05 3月 21:31:38 WARN [config.XMLConfiguration] - *** Will try to use configuration anyway. Please check the order of declared
elements against the schema.
05 3月 21:31:38 WARN [config.XMLConfiguration] - ************************************************************
05 3月 21:31:38 INFO [config.XMLConfiguration] - Initializing GridSets C:UserssmartmapAppDataLocalTempgeowebcache
05 3月 21:31:38 INFO [config.XMLConfiguration] - Initializing layers C:UserssmartmapAppDataLocalTempgeowebcache
05 3月 21:31:38 INFO [layer.TileLayerDispatcher] - Configuration C:UserssmartmapAppDataLocalTempgeowebcache contained no layers.
05 3月 21:31:39 INFO [diskquota.ConfigLoader] - DiskQuota configuration not found: C:UserssmartmapAppDataLocalTempgeowebcache
geowebcache-diskquota.xml
05 3月 21:31:39 INFO [diskquota.ConfigLoader] - DiskQuota configuration not found: C:UserssmartmapAppDataLocalTempgeowebcache
geowebcache-diskquota.xml
05 3月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - Setting up disk quota periodic enforcement task
05 3月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - 0 layers configured with their own quotas.
05 3月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - 0 layers attached to global quota 500.0 MB
05 3月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - Disk quota periodic enforcement task set up every 10 SECONDS
05 3月 21:31:39 INFO [org.geoserver] - Loaded service ""wfs"", enabled
05 3月 21:31:39 INFO [org.geoserver] - Loaded service ""wms"", enabled
05 3月 21:31:39 INFO [org.geoserver] - Loaded service ""wcs"", enabled
05 3月 21:31:39 INFO [gwc.config] - Initializing GeoServer specific GWC configuration gwc-gs.xml
05 3月 21:31:39 INFO [ows.OWSHandlerMapping] - Mapped URL path [/gwc/service/**] onto handler ""dispatcher""
05 3月 21:31:39 INFO [geowebcache.GeoWebCacheDispatcher] - Invoked setServletPrefix(gwc)
05 3月 21:31:39 INFO [georss.GeoRSSPoller] - Initializing GeoRSS poller in a background job...
05 3月 21:31:39 INFO [georss.GeoRSSPoller] - No enabled GeoRSS feeds found, poller will not run.
05 3月 21:31:40 INFO [rest.RESTDispatcher] - Created RESTDispatcher with 14 paths
05 3月 21:31:40 INFO [wms.WMSService] - Will NOT recombine tiles for non-tiling clients.
05 3月 21:31:40 INFO [wms.WMSService] - Will proxy requests to backend that are not getmap or getcapabilities.
05 3月 21:31:40 INFO [ows.OWSHandlerMapping] - Mapped URL path [/ows/**] onto handler ""dispatcher""
05 3月 21:31:40 INFO [ows.OWSHandlerMapping] - Mapped URL path [/ows] onto handler ""dispatcher""
05 3月 21:31:40 INFO [org.geoserver] - GeoServer configuration lock is enabled
05 3月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wfs/*] onto handler ""dispatcher""
05 3月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/TestWfsPost] onto handler ""wfsTestServlet""
05 3月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wfs] onto handler ""dispatcher""
05 3月 21:31:45 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wms/*] onto handler ""dispatcher""
05 3月 21:31:45 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wms] onto handler ""dispatcher""
05 3月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/animate] onto handler ""dispatcher""
05 3月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/animate/*] onto handler ""dispatcher""
05 3月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wcs] onto handler ""dispatcher""
05 3月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wcs/**] onto handler ""dispatcher""
05 3月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml] onto handler ""dispatcher""
05 3月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml/*] onto handler ""dispatcher""
05 3月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml/icon/**/*] onto handler ""kmlIconService""
以后在阅读器中打开:
http://localhost:8080/geoserver/,以下:
如有疑问请联系:
QQ:1004740957
email:niujp08@qq.com