




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、geoserver中文開發(fā)手冊(cè)一目錄目錄寫在前面一介紹二工具JavaMavenSubversion三源代碼源代碼提交庫結(jié)構(gòu)分支結(jié)構(gòu)四快速入門取出源代碼由Maven構(gòu)建由Maven生成Eclipse工程文件導(dǎo)入模塊進(jìn)Eclipse在Eclipse中運(yùn)行GeoServer訪問GeoServer首頁五Maven指南六Eclipse指南七編程指南八釋放指南九釋放測試檢查列表CITE測試指南十一政策與步驟二介紹、工具、源代碼三章一介紹空。二工具在GeoServer開發(fā)者環(huán)境搭建以前,需要安裝以下工具:JavaGeoServer開發(fā)需要及其以上版本,可從SunMicrosystems獲取。注:除了可以使用
2、Sun提供的JDK以外,也可以使用其它的,但這里我們推薦使用Sun的。MavenGeoserver使用MavenX具構(gòu)建。當(dāng)前推薦版本是,可從Apache獲取。雖然是推薦的,但以上版本同樣可用。SubversionGeoserver源代碼由subversion庫完成存儲(chǔ)和版本管理。對(duì)于不同平臺(tái)有多種subversion客戶端可獲取。更多細(xì)節(jié)請(qǐng)?jiān)L問:。三源代碼源代碼GeoServer源代碼存放在:。使用以下方式取出開發(fā)版/trunk版本svncogeoserver使用以下方式取出穩(wěn)定版/stable版本:svncogeoserver警告:Geoserver庫包含大量空間數(shù)據(jù)。從上取出這些數(shù)據(jù)對(duì)于
3、低帶寬用戶來說相對(duì)就很慢或者很昂貴,這種情況下,用戶可以通過以下方式僅獲取源代碼:svnco提交通過以下步驟提交到代碼庫:1. 安裝subversion配置文件,請(qǐng)看后面?zhèn)渥ⅰ?. 注冊(cè)獲取提交權(quán)限。3. 將庫切換到”https”協(xié)議,例如:rootofcheckout%svnswitch庫結(jié)構(gòu)branches/spike/tags/trunk/branches包含以前所有穩(wěn)定的開發(fā)分支,etcspike包含實(shí)驗(yàn)版本和原型tags包含以前所有釋放版本trunk為當(dāng)前開發(fā)分支。分支結(jié)構(gòu)每個(gè)開發(fā)分支都有如下所示的結(jié)構(gòu):doc/src/data/ldoc包含用戶和開發(fā)人員向?qū)У脑次募src包含Ge
4、oserver本身的Java源碼ldata包含多種GeoServer的數(shù)據(jù)目錄三.快速入門本章介紹快速搭建、運(yùn)行GeoServer開發(fā)環(huán)境具體步驟。我們假定您已經(jīng)安裝好所有必須的工具(內(nèi)容見第二章)。注:本章的上的是為了盡快的讓開發(fā)者搭建和運(yùn)行GeoServer。對(duì)于一些更加深入的介紹請(qǐng)見Maven指南和Eclipse指南o取出源代碼由Maven構(gòu)建由Maven生成Eclipse工程文件導(dǎo)入模塊進(jìn)Eclipse在Eclipse里運(yùn)行GeoServer訪問GeoServer首頁取出源代碼由subversion庫中取出源代碼。選取trunk作為最新開發(fā)源碼,或者那些基本不可能經(jīng)常更新的版本的穩(wěn)定分
5、支。要么是:svncogeoserver-trunk或者(穩(wěn)定的分支)svnco在這頁示例里面,我們假定你取出源碼到一個(gè)名為geoserver的目錄,不過,最好還是把名字取得更詳細(xì)一點(diǎn)為好。由Maven構(gòu)建修改目錄到源樹的根,執(zhí)行以下mave附建命令:cdgeoserver/srcmvncleaninstall成功構(gòu)建后會(huì)產(chǎn)生類似于以下的輸出:INFOINFOINFOINFOReactorSummary:INFOINFOGeoServerSUCCESSINFOGeoServerMavenPluginsSUCCESSINFOConfigurationDeploymentPlugInSUCCESS
6、INFOGeoServerMavenArchetypesSUCCESSINFOGeoServerWFSOutputFormatArchetypeSUCCESSINFOCorePlatformModuleSUCCESSINFODataModuleSUCCESSINFOOpenWebServiceModuleSUCCESSINFOMainModuleSUCCESSINFOWebCoverageServiceModuleSUCCESSINFOWebCoverageServiceModuleSUCCESSINFOValidationModuleSUCCESSINFOWebFeatureServiceM
7、oduleSUCCESSINFOWebFeatureServiceModuleSUCCESSINFOWebMapServiceModuleSUCCESSINFOGeoserverRESTSupportCodeSUCCESSINFOGeoWebCache(GWC)ModuleSUCCESSINFOWebApplicationModuleSUCCESSINFOCommunitySpaceSUCCESSINFOGeoServerExtensionsSUCCESSINFOINFOINFOBUILDSUCCESSFULINFO由Maven生成Eclipse工程文件生成Eclipse使用的.project
8、文件和.classpath文件:mvneclipse:eclipse導(dǎo)入模塊進(jìn)Eclipse1.啟動(dòng)運(yùn)行Eclipse集成開發(fā)環(huán)境2.打開Eclipse首選項(xiàng)Preferences3.依次點(diǎn)擊進(jìn)入:Java,BuildPath,ClasspathVariables,點(diǎn)擊New4.創(chuàng)建類路徑變量名稱"M2_REP。并且設(shè)置它的值為本地Maven庫的位置,點(diǎn)擊OK5.單擊OK以應(yīng)用新的Eclipse首選項(xiàng)。6.在包瀏覽PackageExplorer右鍵并單擊導(dǎo)入Import7.選擇已有工程導(dǎo)入工作區(qū)ExistingProjectsintoWorkspace,單擊下一步:8.進(jìn)入geose
9、rver/src目錄9.確保所有模塊都被選取,單擊完成Finish在Eclipse中運(yùn)行GeoServer1.在包瀏覽PackageExplorer中選擇web-app模塊(或更早版本是web)2.點(diǎn)擊進(jìn)入包(或更早版本是)3.在Start類上右鍵,單擊Runas,JavaApplication訪問GeoServer首頁幾秒后,就可通過默認(rèn)的用戶admin的密碼是geoserver四.Maven指南本章是使用Maven構(gòu)建GeoServer的參考。安裝Maven見工具(第二章)運(yùn)行MavenMaven提供了從模塊編譯到生成測試覆蓋報(bào)告的多種命令。大部分maven命令可在源樹的根運(yùn)行,或者某個(gè)特
10、模塊。注:在準(zhǔn)備由源樹的根運(yùn)行maven命令時(shí),請(qǐng)記住要將取出的根目錄變換到src目錄。在由源樹的根運(yùn)行一個(gè)命令時(shí),或者從包含其它模塊的目錄時(shí),命令將會(huì)為所有模塊運(yùn)行。當(dāng)從單個(gè)模塊運(yùn)行命令時(shí),它只為這個(gè)模塊運(yùn)行。構(gòu)建GeoServer最常用的命令是安裝命令:mvncleaninstall雖然clean命令不是必須的,但我們還是推薦用上。上面的命令做了以下的事:編譯源代碼運(yùn)行單元測試安裝成果到本地Maven庫跳過測試通常在構(gòu)建時(shí)跳過單元測試很有用處。在構(gòu)建命令中添加-DskipTests標(biāo)志就可以只編譯單元測試而不會(huì)運(yùn)行測試。mvn-DskipTestscleaninstall離線構(gòu)建Mave穗
11、作會(huì)自動(dòng)下載待構(gòu)建模塊中聲明的依賴庫。當(dāng)處理快照(SNAPSHOT依賴時(shí),這就有可能會(huì)有問題。Maven每次執(zhí)行一天內(nèi)的首次構(gòu)建時(shí),會(huì)嘗試更新它的快照依賴。由于GeoServer依賴GeoTools庫的快照版本,這時(shí)可能會(huì)有問題。最終導(dǎo)致Maven下載大量GeoTools更新模塊并且急劇增加構(gòu)建時(shí)間。而如果你只是本地構(gòu)建geotools,這些就顯得不必要了。這時(shí),可以使用“離線”方式運(yùn)行Maven來改進(jìn):mvn-ocleaninstall在離線模式中,Maven不會(huì)下載任何外部依賴,也不會(huì)更新任何快照依賴。構(gòu)建擴(kuò)展默認(rèn)情況下,擴(kuò)展沒有被包含在構(gòu)建中。它們得通過Profile來明確增加到構(gòu)建中。
12、比如下面的示例就將restconfig擴(kuò)展添加到構(gòu)建中:mvncleaninstall-Prestconfig可以同時(shí)添加多個(gè)擴(kuò)展同時(shí)使用:mvncleaninstall-Prestconfig,oracle有個(gè)特殊的名為allExtensions的Profile可以添加所有擴(kuò)展:mvncleaninstall-PallExtensionsProfilesEclipseMaven的Eclipse插件用于為模塊生成eclipse工程:mvneclipse:eclipse經(jīng)過此操作后,這些模塊就可以導(dǎo)入Eclipse工作區(qū)。該插件有個(gè)很有用的功能就是可下載第三方依賴的相關(guān)源代碼。這是通過添加dow
13、nloadSources標(biāo)志來做的:mvn-DdownloadSourceseclipse:eclipse警告:當(dāng)你首次啟用downloadSources標(biāo)志時(shí),構(gòu)建過程需要很長時(shí)間,因?yàn)樗螺dGeoServer所依賴的每個(gè)庫的源代碼。構(gòu)建Web莫塊當(dāng)安裝好web模塊后,它會(huì)通過內(nèi)建的特殊配置構(gòu)建。默認(rèn)情況下它注是minimal配置。盡管如此,它也可以通過設(shè)置configId和configDirectory標(biāo)志來定制任意配置。比如:mvncleaninstall-DconfigId=release-DconfigDirectory=/home/jdeolive/上面命令可使用GeoServe
14、r上的release配置構(gòu)建web模塊。configId是包含的配置目錄名稱,configDirectory是包含的配置目錄的父級(jí)目錄。configDirectory可以像剛才的一樣的絕對(duì)路徑,也可以是針對(duì)web模塊自身的相對(duì)路徑:mvncleaninstall-DconfigId=release-DconfigDirectory=./././data上面的命令與之前有同樣的效果,盡管是引用了相對(duì)于web模塊的路徑。該路徑,./././data,在GeoServer取出(checkout)的代碼目錄結(jié)構(gòu)是標(biāo)準(zhǔn)結(jié)構(gòu)的情況下可用。使用Jetty運(yùn)行web模塊Maven的jetty插件可用于運(yùn)行嵌入
15、了jetty容器的基于web的模塊:cdjetty:run注:該命令必須從web模塊運(yùn)行,如果從其它模塊運(yùn)行就會(huì)失敗。上面的命令將會(huì)使用自帶的數(shù)據(jù)目錄來運(yùn)行GeoServer。為了使用其它的數(shù)據(jù)目錄可以啟用geoserver_data_R:mvn-DGEOSERVER_DATA_DIR=/path/to/datadirjetty:run五Eclipse指南本章是使用Eclipse開發(fā)GeoServer的參考。導(dǎo)入模塊運(yùn)行和調(diào)試設(shè)置數(shù)據(jù)目錄更改Jetty默認(rèn)端口配置Jetty中JNDI資源Eclipse首選項(xiàng)代碼格式化代碼模塊文本編輯器編譯器導(dǎo)入模塊參見Maver旨南中的Eclipse部分。運(yùn)行
16、和調(diào)試運(yùn)行和調(diào)試web-app模塊中類。具體步驟見快速入門。設(shè)置數(shù)據(jù)目錄如果未設(shè)置,GeoServer默認(rèn)會(huì)使用web-app模塊里的minimal目錄作為它的數(shù)據(jù)目錄。若要修改,執(zhí)行以下步驟:1 .在Eclipse菜單中打開調(diào)試配置(DebugConfigurations)2 .先把Start配置,選擇Argument面板,并且填寫-DGEOSERVER_DATA_>R,設(shè)置數(shù)據(jù)目錄為絕對(duì)路徑。更改Jetty默認(rèn)端口如果未設(shè)置,Jetty默認(rèn)會(huì)使用8080端口。修改請(qǐng)按以下方式:1.打開上節(jié)所說的Start配置中的Argument面板。2.填寫參數(shù),設(shè)置它到期望的端口配置Jetty的J
17、NDI資源JNDI資源如數(shù)據(jù)資源可以通過提供系統(tǒng)屬性中名為的Jetty服務(wù)器配置文件來配置,這個(gè)可以在Start配置中的Argument面板上通過VMargument參數(shù)指定。配置文件路徑是相對(duì)于web-app模塊根路徑的,該模塊是啟動(dòng)配置運(yùn)行的地方。例如:以下的Jetty服務(wù)器配置文件就配置了一個(gè)JNDI數(shù)據(jù)源:jdbc/demo,它是一個(gè)Oracle數(shù)據(jù)庫的連接池。jdbc/demoClaudiuss3cr3t201001000030000030000020true100trueSELECTSYSDATEFROMDUALJetty沒有在GeoServer的WEB-INF/f旨定refere
18、nce-ref,因此沒必要修改該文件。GeoServerweb-app模塊和數(shù)據(jù)目錄沒有特定于Jetty的相關(guān)信息,因此JNDI資源可以被測試在Jetty下,以便于后面在Tomcat下的開發(fā)。也可以看看GeoServer用戶手冊(cè)中Tomcat中建立JNDI連接池章節(jié)。Eclipse首選項(xiàng)代碼格式化1.下載文件:2.轉(zhuǎn)到首選項(xiàng)中Java,CodeStyle,Formatter,點(diǎn)擊Import3.選擇步驟1中下載的文件4.點(diǎn)擊Apply代碼模板1.下載文件:2.轉(zhuǎn)至U首選項(xiàng)Java,CodeStyle,Formatter,點(diǎn)擊Important3.選擇步驟1中下載的文件。4.點(diǎn)擊Apply文本編
19、輯器1.轉(zhuǎn)到General,Editors,TextEditors2.選中InsertSpacefortabs3.選中Showprintmargin,將Printmargincolumn設(shè)置為1004.選中Showlinenumbers5.選中Showwhitespacecharacters(可選)注:顯示空白字符可幫助我們發(fā)現(xiàn)無意中提交不必要的空格。6.點(diǎn)擊Apply編譯器1.轉(zhuǎn)到Java,Compiler,Building2.擴(kuò)展開Outputfolder,并將.svn/加到Filteredresources列表中。3.點(diǎn)擊Apply六.編程指南OW艮務(wù)本節(jié)介紹GeoServer中OW齦務(wù)
20、(原文為RESTful服務(wù),可能為筆誤)如何工作。OW$艮務(wù)卞覽TBA實(shí)現(xiàn)一個(gè)簡單的OWSI艮務(wù)本節(jié)將通過以下場景來介紹如何給GeoServer創(chuàng)建一個(gè)簡單的GeoServerOWS艮務(wù)。該服務(wù)需要提供一個(gè)能廣告叫做“sayHello”的單一操作的功能(capabilities)文檔。該sayHello操作的結(jié)果是一個(gè)簡單的字符串:“HelloWorld”。內(nèi)容:實(shí)現(xiàn)一個(gè)簡單的OW5S艮務(wù)建立創(chuàng)建插件試一試建立創(chuàng)建插件的第一步是為它建立一個(gè)maven工程。該工程我們稱為“hello”。1.在本地文件系統(tǒng)中任意地方創(chuàng)建一個(gè)名為hello的新目錄。2.給hello目錄添加名為文件。1.2. <
21、;xmlversion=""encoding="ISO-8859-1”>3. <projectxmlns=""xmlns:xsi=""xsi:schemaLocation="">4. <modelVersion><!-setparentpomtocommunitypom->5. <parent>6. <groupId></groupId>7. <artifactId>community</artifactId&
22、gt;8. <version></parent>9. <groupId></groupId>10. <artifactId>hello</artifactId>11. <packaging>jar</packaging>12. <version></version>13. <name>HelloWorldServiceModule</name>14. <dependencies>15. <dependency>16. <g
23、roupId></groupId>17. <artifactId>main</artifactId>18. <version></dependency>19. </dependencies>20. <repositories>21. <repository>22. <id>opengeo</id>23. <name>opengeo</name>24. <url></repository>25. </repositor
24、ies>26. </project>3.在hello目錄下創(chuàng)建Java源文件目錄。hello/+src/+main/+java/創(chuàng)建插件插件是一系列由springbeans實(shí)現(xiàn)的擴(kuò)展。實(shí)例中擴(kuò)展興趣點(diǎn)是一個(gè)HelloWorld的POJO1.創(chuàng)建一個(gè)名為HelloWorld的類:1. importclass HelloWorld 2. publicHelloWorld()3. rite("HelloWorld".getBytes();4. 5. 復(fù)制代碼該服務(wù)相對(duì)比較簡單。它提供了一個(gè)一個(gè)名為sayHello的方法,帶有HttpServletRequest,
25、HttpServletResponse參數(shù)。該函數(shù)的參數(shù)列表會(huì)由自動(dòng)發(fā)現(xiàn)。2.創(chuàng)建文件將上面的類申明為一個(gè)beano1. <xmlversion=""encoding="UTF-8">2.3. <!DOCTYPEbeansPUBLIC"->4.<bean id="" class="">5. <!- used to reference the service in the URL ->.<constructor-argindex="
26、;0"<!- our actual service<constructor-argindex="1"<!- a version numbervalue="hello"/>POJO defined previously ->ref="helloService"/>for this service ->3.14.<constructor-argindex="2"value=""/><!- a list of f
27、unctions for this service -><constructor-argindex="3"><list><value>15. sayHello</value>16. </list>17. </constructor-arg>18. </bean>復(fù)制代碼到此,hello工程內(nèi)容應(yīng)該是看上去像下面這樣了:hello/+src/+main/+java/+試一試1.安裝hello模塊。1.hello%mvn install2.hello%mvn install3.INFOSc
28、anning for projects.4.INFO5.INFOBuilding Hello World Service Module6.INFOtask-segment:install7.INFO8.INFOresources:resources9.INFOUsing default encodingto copy filtered resources.10.INFOcompiler:compile11.INFOCompiling 1 source fileto /home/ak/geoserver/community/hello/target/classes12.INFOresources
29、:testResources13.INFOUsing default encodingto copy filtered resources.14.INFOcompiler:testCompileINFONo sources to compile15.INFOsurefire:testINFONotests to run.16.INFOjar:jar17.INFOBuildingjar:/home/ak/geoserver/community/hello/target/jar:test-jarexecution:defaultWARNINGJAR willbeemptyno content was marked forinclusion!18.INFOBuildingjar:/home/ak/geoserver/community/hello/target/install:install19.INFOInstalling/home/ak/geoserver/community/hello/target/to /home/ak/.m2/repository/org/geoserver/hello
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年進(jìn)出口業(yè)務(wù)合同
- 2025年企業(yè)經(jīng)營策劃托管合同樣本
- 2025年成都農(nóng)業(yè)科技職業(yè)學(xué)院單招職業(yè)傾向性測試題庫帶答案
- 2025年中小企業(yè)勞動(dòng)合同典范
- 2025年建筑物外部照明裝置修理合同
- 車輛運(yùn)輸外包安全協(xié)議書范本
- 前期物業(yè)服務(wù)合同(二)與前期物業(yè)服務(wù)合同5篇
- 二零二五年度醫(yī)療機(jī)構(gòu)與眼科醫(yī)生合作協(xié)議書
- 二零二五年度物流行業(yè)試用期勞動(dòng)合同規(guī)范
- 二零二五年度消防聯(lián)勤聯(lián)動(dòng)應(yīng)急預(yù)案編制合同
- 植保機(jī)械技術(shù)培訓(xùn)課件
- 人工智能賦能職業(yè)教育高質(zhì)量發(fā)展研究
- 2024年水利工程建設(shè)行業(yè)市場發(fā)展監(jiān)測及投資潛力預(yù)測報(bào)告
- 崗位職責(zé)心得體會(huì)(2篇)
- 高中地理興趣小組活動(dòng)方案
- 立案委托書撰寫指南讓法律更簡單3篇
- 機(jī)械設(shè)計(jì)基礎(chǔ) 課件 01機(jī)械設(shè)計(jì)概論
- 基于大數(shù)據(jù)的消費(fèi)趨勢預(yù)測與分析報(bào)告
- 高三地理一輪復(fù)習(xí)+課件+第三部分+4.4國際合作
- 全國第三屆職業(yè)技能大賽(智能網(wǎng)聯(lián)汽車裝調(diào)運(yùn)維)選拔賽理論考試題庫(含答案)
- 電信網(wǎng)絡(luò)詐騙犯罪的特征、治理困境及對(duì)策建議
評(píng)論
0/150
提交評(píng)論