概述:本文讲述的是在eclipse中如何构建geoserver源码工程,其中涉及到了jdk,github,marven等。

1、安装git

从(http://git-scm.com/download/win),获得Git-1.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-3.21-bin.zip,maven是号令行法度,将获得的紧缩包解压,解压后文件组织如下:

并添加D:\software\java\web\maven\bin到path变量中。

maven百度网盘下载地址

4、通过maven构建源码

4.1  跳转路径到geoserver的src目录下

  1. C:\Users\Administrator>d:
  2. D:\>cd D:\opengis\opengis\src
  3. D:\opengis\opengis\src>

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

执行如下命令:

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

4.3 构建工程

执行如下命令,构建工程:

  1. mvn clean install
  2. mvn -DskipTests clean install

注意:第一条号令在构建的同时履行测试用例测试类文件,在号令履行过程中有可能会呈现错误;第二条号令在构建时,不进行测试,不会有测试不经由过程的异常。

执行命令输出:

  1. [INFO] ------------------------------------------------------------------------
  2. [INFO] Reactor Summary:
  3. [INFO]
  4. [INFO] GeoServer ......................................... SUCCESS [  5.916 s]
  5. [INFO] Core Platform Module .............................. SUCCESS [  5.763 s]
  6. [INFO] Open Web Service Module ........................... SUCCESS [  6.644 s]
  7. [INFO] Main Module ....................................... SUCCESS [01:15 min]
  8. [INFO] GeoServer Security Modules ........................ SUCCESS [  0.607 s]
  9. [INFO] GeoServer JDBC Security Module .................... SUCCESS [  8.048 s]
  10. [INFO] GeoServer LDAP Security Module .................... SUCCESS [  8.002 s]
  11. [INFO] Web Coverage Service Module ....................... SUCCESS [  3.605 s]
  12. [INFO] Web Coverage Service 1.0 Module ................... SUCCESS [  6.524 s]
  13. [INFO] Web Coverage Service 1.1 Module ................... SUCCESS [ 10.715 s]
  14. [INFO] Web Coverage Service 2.0 Module ................... SUCCESS [ 13.674 s]
  15. [INFO] Web Feature Service Module ........................ SUCCESS [ 18.692 s]
  16. [INFO] Web Map Service Module ............................ SUCCESS [03:41 min]
  17. [INFO] KML support for GeoServer ......................... SUCCESS [01:17 min]
  18. [INFO] GeoWebCache (GWC) Module .......................... SUCCESS [03:34 min]
  19. [INFO] REST Support Module ............................... SUCCESS [  3.981 s]
  20. [INFO] REST Configuration Service Module ................. SUCCESS [01:23 min]
  21. [INFO] GeoServer Web Modules ............................. SUCCESS [  0.162 s]
  22. [INFO] Core UI Module .................................... SUCCESS [02:46 min]
  23. [INFO] WMS UI Module ..................................... SUCCESS [  5.256 s]
  24. [INFO] GWC UI Module ..................................... SUCCESS [ 10.776 s]
  25. [INFO] WFS UI Module ..................................... SUCCESS [  3.262 s]
  26. [INFO] Demoes Module ..................................... SUCCESS [01:08 min]
  27. [INFO] WCS UI Module ..................................... SUCCESS [  4.632 s]
  28. [INFO] Security UI Modules ............................... SUCCESS [  0.155 s]
  29. [INFO] Security UI Core Module ........................... SUCCESS [  7.840 s]
  30. [INFO] Security UI JDBC Module ........................... SUCCESS [  4.315 s]
  31. [INFO] Security UI LDAP Module ........................... SUCCESS [ 12.600 s]
  32. [INFO] GeoServer Web Application ......................... SUCCESS [01:42 min]
  33. [INFO] Community Space ................................... SUCCESS [  7.778 s]
  34. [INFO] GeoServer Extensions .............................. SUCCESS [  0.226 s]
  35. [INFO] ------------------------------------------------------------------------
  36. [INFO] BUILD SUCCESS
  37. [INFO] ------------------------------------------------------------------------
  38. [INFO] Total time: 19:21 min
  39. [INFO] Finished at: 2014-03-05T16:52:55+08:00
  40. [INFO] Final Memory: 188M/368M
  41. [INFO] ------------------------------------------------------------------------

4.4 通过maven创建eclipse工程文件

执行命令:

  1. mvn eclipse:eclipse

执行结果如下:

  1. [INFO] ------------------------------------------------------------------------
  2. [INFO] Reactor Summary:
  3. [INFO]
  4. [INFO] GeoServer ......................................... SUCCESS [ 10.022 s]
  5. [INFO] Core Platform Module .............................. SUCCESS [  6.761 s]
  6. [INFO] Open Web Service Module ........................... SUCCESS [  4.690 s]
  7. [INFO] Main Module ....................................... SUCCESS [  8.291 s]
  8. [INFO] GeoServer Security Modules ........................ SUCCESS [  0.041 s]
  9. [INFO] GeoServer JDBC Security Module .................... SUCCESS [  0.759 s]
  10. [INFO] GeoServer LDAP Security Module .................... SUCCESS [  1.313 s]
  11. [INFO] Web Coverage Service Module ....................... SUCCESS [  0.299 s]
  12. [INFO] Web Coverage Service 1.0 Module ................... SUCCESS [  1.545 s]
  13. [INFO] Web Coverage Service 1.1 Module ................... SUCCESS [  4.898 s]
  14. [INFO] Web Coverage Service 2.0 Module ................... SUCCESS [  0.354 s]
  15. [INFO] Web Feature Service Module ........................ SUCCESS [  0.502 s]
  16. [INFO] Web Map Service Module ............................ SUCCESS [  3.534 s]
  17. [INFO] KML support for GeoServer ......................... SUCCESS [  1.063 s]
  18. [INFO] GeoWebCache (GWC) Module .......................... SUCCESS [  9.024 s]
  19. [INFO] REST Support Module ............................... SUCCESS [  0.285 s]
  20. [INFO] REST Configuration Service Module ................. SUCCESS [  0.484 s]
  21. [INFO] GeoServer Web Modules ............................. SUCCESS [  0.032 s]
  22. [INFO] Core UI Module .................................... SUCCESS [  0.922 s]
  23. [INFO] WMS UI Module ..................................... SUCCESS [  0.338 s]
  24. [INFO] GWC UI Module ..................................... SUCCESS [  1.009 s]
  25. [INFO] WFS UI Module ..................................... SUCCESS [  0.274 s]
  26. [INFO] Demoes Module ..................................... SUCCESS [  0.408 s]
  27. [INFO] WCS UI Module ..................................... SUCCESS [  0.604 s]
  28. [INFO] Security UI Modules ............................... SUCCESS [  0.033 s]
  29. [INFO] Security UI Core Module ........................... SUCCESS [  0.319 s]
  30. [INFO] Security UI JDBC Module ........................... SUCCESS [  0.331 s]
  31. [INFO] Security UI LDAP Module ........................... SUCCESS [  0.401 s]
  32. [INFO] GeoServer Web Application ......................... SUCCESS [  0.595 s]
  33. [INFO] Community Space ................................... SUCCESS [  0.032 s]
  34. [INFO] GeoServer Extensions .............................. SUCCESS [  0.030 s]
  35. [INFO] ------------------------------------------------------------------------
  36. [INFO] BUILD SUCCESS
  37. [INFO] ------------------------------------------------------------------------
  38. [INFO] Total time: 01:09 min
  39. [INFO] Finished at: 2014-03-05T17:06:55+08:00
  40. [INFO] Final Memory: 119M/447M
  41. [INFO] ------------------------------------------------------------------------
  42. D:\Technology\Learnning\open_gis\geoserver\geoserver_dev\project\geoserver20140305\src>

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中呈现如下记录:

  1. log4j:WARN File option not set for appender [geoserverlogfile].
  2. log4j:WARN Are you using FileAppender instead of ConsoleAppender?
  3. 三月 05, 2014 9:31:37 下午 org.geoserver.platform.GeoServerExtensions checkContext
  4. 警告: Extension lookup occured, but ApplicationContext is unset.
  5. 05 三月 21:31:37 INFO [geoserver.global] -
  6. ----------------------------------
  7. - GEOSERVER_DATA_DIR: D:\Technology\Learnning\open_gis\geoserver\geoserver_dev\project\geoserver20140305\src\web\app\src\main\webapp\data
  8. ----------------------------------
  9. 05 三月 21:31:38 INFO [org.geoserver] - Loaded style ""line""
  10. 05 三月 21:31:38 INFO [org.geoserver] - Loaded style ""point""
  11. 05 三月 21:31:38 INFO [org.geoserver] - Loaded style ""polygon""
  12. 05 三月 21:31:38 INFO [org.geoserver] - Loaded style ""raster""
  13. 05 三月 21:31:38 INFO [org.geoserver] - Loaded default workspace it.geosolutions
  14. 05 三月 21:31:38 INFO [org.geoserver] - Loaded workspace ""it.geosolutions""
  15. 05 三月 21:31:38 INFO [org.geoserver] - Loaded workspace ""topp""
  16. 05 三月 21:31:38 INFO [storage.DefaultStorageFinder] - ************************************************************************************************************
  17. 05 三月 21:31:38 INFO [storage.DefaultStorageFinder] - *** Found System environment variable TEMP set to C:\Users\smartmap\AppData
  18. \Local\Temp, using it as the default prefix. ***
  19. 05 三月 21:31:38 INFO [storage.DefaultStorageFinder] - *************************************************************************************************************
  20. 05 三月 21:31:38 INFO [config.XMLConfiguration] - Will look for geowebcache.xml in ""C:\Users\smartmap\AppData\Local\Temp\geowebcache""
  21. 05 三月 21:31:38 INFO [gwc.layer] - Initializing GWC configuration based on GeoServer""s Catalog
  22. 05 三月 21:31:38 INFO [gwc.layer] - GeoServer TileLayer store base directory is: D:\Technology\Learnning\open_gis\geoserver\geoserver_dev\project\geoserver20140305\src\web\app\src\main\webapp\data\gwc-layers
  23. 05 三月 21:31:38 INFO [gwc.layer] - Loading tile layers D:\Technology\Learnning\open_gis\geoserver\geoserver_dev\project\geoserver20140305\src\web\app\src\main\webapp\data\gwc-layers
  24. 05 三月 21:31:38 INFO [gwc.layer] - GWC configuration based on GeoServer""s Catalog loaded successfuly
  25. 05 三月 21:31:38 INFO [layer.TileLayerDispatcher] - Configuration GeoServer Catalog Configuration contained no layers.
  26. 05 三月 21:31:38 INFO [config.XMLConfiguration] - Found configuration file in C:\Users\smartmap\AppData\Local\Temp\geowebcache
  27. 05 三月 21:31:38 WARN [config.XMLConfiguration] - *******************************************************************
  28. 05 三月 21:31:38 WARN [config.XMLConfiguration] - *** GWC configuration validation error: cvc-elt.1: 找不到元素 ""gwcConfiguration"" 的声明。
  29. 05 三月 21:31:38 WARN [config.XMLConfiguration] - *** Will try to use configuration anyway. Please check the order of declared
  30. elements against the schema.
  31. 05 三月 21:31:38 WARN [config.XMLConfiguration] - ************************************************************
  32. 05 三月 21:31:38 INFO [config.XMLConfiguration] - Initializing GridSets C:\Users\smartmap\AppData\Local\Temp\geowebcache
  33. 05 三月 21:31:38 INFO [config.XMLConfiguration] - Initializing layers C:\Users\smartmap\AppData\Local\Temp\geowebcache
  34. 05 三月 21:31:38 INFO [layer.TileLayerDispatcher] - Configuration C:\Users\smartmap\AppData\Local\Temp\geowebcache contained no layers.
  35. 05 三月 21:31:39 INFO [diskquota.ConfigLoader] - DiskQuota configuration not found: C:\Users\smartmap\AppData\Local\Temp\geowebcache
  36. \geowebcache-diskquota.xml
  37. 05 三月 21:31:39 INFO [diskquota.ConfigLoader] - DiskQuota configuration not found: C:\Users\smartmap\AppData\Local\Temp\geowebcache
  38. \geowebcache-diskquota.xml
  39. 05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - Setting up disk quota periodic enforcement task
  40. 05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - 0 layers configured with their own quotas.
  41. 05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - 0 layers attached to global quota 500.0 MB
  42. 05 三月 21:31:39 INFO [diskquota.DiskQuotaMonitor] - Disk quota periodic enforcement task set up every 10 SECONDS
  43. 05 三月 21:31:39 INFO [org.geoserver] - Loaded service ""wfs"", enabled
  44. 05 三月 21:31:39 INFO [org.geoserver] - Loaded service ""wms"", enabled
  45. 05 三月 21:31:39 INFO [org.geoserver] - Loaded service ""wcs"", enabled
  46. 05 三月 21:31:39 INFO [gwc.config] - Initializing GeoServer specific GWC configuration gwc-gs.xml
  47. 05 三月 21:31:39 INFO [ows.OWSHandlerMapping] - Mapped URL path [/gwc/service/**] onto handler ""dispatcher""
  48. 05 三月 21:31:39 INFO [geowebcache.GeoWebCacheDispatcher] - Invoked setServletPrefix(gwc)
  49. 05 三月 21:31:39 INFO [georss.GeoRSSPoller] - Initializing GeoRSS poller in a background job...
  50. 05 三月 21:31:39 INFO [georss.GeoRSSPoller] - No enabled GeoRSS feeds found, poller will not run.
  51. 05 三月 21:31:40 INFO [rest.RESTDispatcher] - Created RESTDispatcher with 14 paths
  52. 05 三月 21:31:40 INFO [wms.WMSService] - Will NOT recombine tiles for non-tiling clients.
  53. 05 三月 21:31:40 INFO [wms.WMSService] - Will proxy requests to backend that are not getmap or getcapabilities.
  54. 05 三月 21:31:40 INFO [ows.OWSHandlerMapping] - Mapped URL path [/ows/**] onto handler ""dispatcher""
  55. 05 三月 21:31:40 INFO [ows.OWSHandlerMapping] - Mapped URL path [/ows] onto handler ""dispatcher""
  56. 05 三月 21:31:40 INFO [org.geoserver] - GeoServer configuration lock is enabled
  57. 05 三月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wfs/*] onto handler ""dispatcher""
  58. 05 三月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/TestWfsPost] onto handler ""wfsTestServlet""
  59. 05 三月 21:31:41 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wfs] onto handler ""dispatcher""
  60. 05 三月 21:31:45 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wms/*] onto handler ""dispatcher""
  61. 05 三月 21:31:45 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wms] onto handler ""dispatcher""
  62. 05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/animate] onto handler ""dispatcher""
  63. 05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/animate/*] onto handler ""dispatcher""
  64. 05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wcs] onto handler ""dispatcher""
  65. 05 三月 21:31:46 INFO [ows.OWSHandlerMapping] - Mapped URL path [/wcs/**] onto handler ""dispatcher""
  66. 05 三月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml] onto handler ""dispatcher""
  67. 05 三月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml/*] onto handler ""dispatcher""
  68. 05 三月 21:31:47 INFO [ows.OWSHandlerMapping] - Mapped URL path [/kml/icon/**/*] onto handler ""kmlIconService""

之后在浏览器中打开:http://localhost:8080/geoserver/,如下:

eclipse中建geoserver源码的更多相关文章

  1. Eclipse下建立geoserver源码工程

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

  2. 关于导入geoserver 源码到Eclipse编译运行

    参考http://blog.csdn.net/gisshixisheng/article/details/43016443 和  http://blog.sina.com.cn/s/blog_6e37 ...

  3. Eclipse与Android源码中ProGuard工具的使用

    由于工作需要,这两天和同事在研究android下面的ProGuard工具的使用,通过查看android官网对该工具的介绍以及网络上其它相关资料,再加上自己的亲手实践,算是有了一个基本了解.下面将自己的 ...

  4. 基于Eclipse搭建Hadoop源码环境

    Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoo ...

  5. eclipse调试jdk源码

    摘要 介绍使用eclipse调试jdk源码 java是一门开源的程序设计语言,喜欢研究源码的java开发者总会忍不住debug一下jdk源码.虽然官方的jdk自带了源码包src.zip,然而在debu ...

  6. eclipse查看jdk源码,及反编译查看

    jdk中的包: dt.jar是关于运行环境的类库,主要是swing的包 tools.jar是关于一些工具的类库 rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的cla ...

  7. 【Tomcat】使用Eclipse运行Tomcat7源码

    1.搭建开发环境 a.下载好tomcat7源码包 b.安装好jdk7,及设置好环境变量 c.安装好ant,及设置好环境变量,用于预编译tocmat源码. d.以上步骤准备好我们就可以开始进入源码的预编 ...

  8. Eclipse导入Hadoop源码项目及编写Hadoop程序

    一 Eclipse导入Hadoop源码项目 基本步骤: 1)在Eclipse新建一个java项目[hadoop-1.2.1] 2)将Hadoop压缩包解压目录src下的core,hdfs,mapred ...

  9. Eclipse导入hadoop源码

    在windows中,使用Eclipse阅读hadoop源码,首先到apache官网下载tar.gz的hadoop源码压缩文件,解压. 方法1:(hadoop技术内幕推荐) 打开Eclipse,新建ja ...

随机推荐

  1. php 获取ip地址的5种方法,插入用户登录日志实例

    php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...

  2. django 集合

    1,前言 socket 位于应用层和传输层之间的一个抽象层,它是一个接口. 百度的服务器(socket服务端) . 启动socket . 绑定ip和端口 . 监听 . 接收数据 . 发送数据 . 断开 ...

  3. ASP.NET定时调用WebService 运行后台代码

    效果: 通过在网站的Global.asax的Application_Start方法中 加入定时器 定时调用WebService 该WebService的一个方法 负责在后台 向数据库的某个表加入数据 ...

  4. Java学习路线教程之JDBC基本操作

    为了帮助大家熟练应用JDBC编程,接下来,在本节将通过一个综合案例来讲解JDBC的基本操作,确保大家能够深刻理解JDBC的增.删.改.查,灵活利用JDBC完成对数据库的各项操作. 1. 创建一个Jav ...

  5. Tomcat启动报错:[Failed to start component]的解决方案

    在MyEclipse中启动Tomcat,该Tomcat仅部署了一个报错项目,启动Tomcat Server的全部信息如下: usage: java org.apache.catalina.startu ...

  6. AngularJs 开发遇到的问题,以及解决方案

    1>ng-if 导致 ng-model 失效的问题 比如说下拉联动隐藏显示的时候,多个验证模块,需要使用到ng-if.可以使用 $parent 来解决这个问题 ng-model="$p ...

  7. gdb调试问题汇总

    1. 宏调试 在GDB下,我们无法print宏定义,因为宏是预编译的.但是我们还是有办法来调试宏,这个需要GCC的配合. 在GCC编译程序的时候,加上-ggdb3参数,这样,你就可以调试宏了.另外,你 ...

  8. The POM for XXX is invalid, transitive dependencies (if any) will not be available解决方案

    今天,某个开发的环境在编译的时候提示警告The POM for XXX is invalid, transitive dependencies (if any) will not be availab ...

  9. k8s (kubernetes) 代码分析

    简易入门 结构图: debug 先了解 etcd API源码分析 API server 是中心. https://www.jianshu.com/p/88c6ed78b668 $ git ls-fil ...

  10. 本地win7ping VM linux ipv6地址问题

    前述 在windows和linux同时安装ipv6之后,系统将会自动分配一个link-local(链接本地)地址也就是ifconfig -a看到的一行[inet6 addr: fe80::20c:29 ...