RockCMS內容管理系統是一個web應用,因此我們要利用Maven構建一個web應用,開發環境爲eclipse+tomcat。構建過程如下:
1、工具準備
eclipse:版本爲eclipse 4.2(Juno Service),maven插件的安裝與配置參見“m2eclipse安裝與配置”
tomcat:版本爲apache-tomcat-6.0.37(即tomcat6.x系列,本文安裝在D:\work\tomcat6\apache-tomcat-6.0.37-maven)
2、建立web應用
我們使用eclipse建立maven的web工程,步驟如下:
在eclispe中,點擊【File】-【New】-【Other】,彈出如下界面:
選擇“Maven”-“Manve Project”,點擊【Next】
設置工作空間,可以根據項目實際情況進行設置,這裏我們選擇eclipse默認的工作空間“Use default Workspace location”,點擊【Next】
利用archetype創建web工程,選擇groupId爲“org.apache.maven.archetypes”,ArtifactId爲“maven-archetype-webapp”,version爲“RELEASE”的archetype構建,點擊【Next】
填寫構件基本座標信息,如下:
Group Id:com.rockcms //項目分組id,rockcms的域名(倒序書寫)
Artifact Id:rockcms-web //rockcms項目組內構建唯一id,rockcms-web
version:1.0.0-SNAPSHOT //rockcms項目版本號,當前爲快照1.0.0版本
Package:com.rockcms.framework.web //rockcms項目的java源碼包路徑,根據需要命名
點擊【Finish】,在ecliplse導航欄中顯示出我們建立的rockcms-web項目。
3.配置web工程
建立好web工程框架後,我們需要簡單的完善一下它,使其成爲一個結構完善的maven的web工程。
1)完善目錄
讓目錄變成標準的maven結構,增加Maven項目必要的主目錄(src/main/java)和測試目錄(src/test/java)。
右鍵rockcms_web工程,點擊【properties】,如下圖
刪除報錯的source folder,選擇錯誤的folder,點擊【remove】
a)添加主目錄
點擊【Add Folder】
選擇”main”,點擊【Create New Folder】,輸入Folder name爲“java”。點擊【finish】,完成主目錄的建立。
在src目錄下建立test/java目錄,選擇”src”,點擊【Create New Folder】,輸入Folder name爲“test/java”。點擊【finish】,完成測試目錄的建立。
2)配置class輸出路徑
和標準web工程一樣,我們將主程序編譯到WEB-INF\classes目錄下,測試程序不需要打包,所以將測試程序的編譯還是編譯到target目錄下。具體設置如下:
爲了方便起見,我們將編譯的缺省目錄設置爲WEB-INF\classe,點擊“default output folder”後的【Browser】,注意由於WEB-INF路徑在src源碼目錄下,所以“Allow output folders for source folders”必須勾選.
沒有classes目錄,可通過【Create New Folder】在WEB-INF目錄下建立classes目錄,點擊【OK】完成配置,如下圖所示:
缺省目錄設置完畢後,我們分別爲sourcefolder選擇編譯位置,設置src/main/java的編譯輸出
選擇src/main/java的編譯輸出,點擊【Edit】
選擇工程默認的輸出路徑(Project’s default output folder),點擊【OK】
同理,將src/main/resources的輸出路徑也設置缺省路徑Project’s default output folder,結果如下圖所示:
由於test不需要打包到工程中,所以我們將test輸出到target目錄中,設置src/test/java的編譯輸出路徑
爲test選擇指定的輸出路徑“test-classes”,點擊“OK”完成test輸出路路徑設置。
此步驟很重要,會影響到發佈的war包中內容,如果不將main目錄下的編譯路徑設置到WEB-INF/classes下,則war中將沒有編譯後的classes,此例子將無法在tomcat下發布運行,當然,後續如果將此工程的所有類和資源打成jar,加入到此工程的依賴中,則不會有問題。
3)配置jdk版本
由於本項目採用的是jdk1.6,需要將JRE System Library設置jdk1.6
4)調整源碼目錄結構順序
爲了更好的展現源碼結構,可以調整一下源碼在eclipse的顯示順序,將src/main/java移動到最上邊
設置完成後點擊【OK】,關閉屬性界面。
經過以上四步設置完畢後,maven的rockcms-web工程搭建完畢。
4、helloworld代碼
我們將index.jsp的內容進行一下修改,以便標明顯示,如下:
5、使用tomcat運行web工程
1)eclipse配置tomcat
在eclipse中配置tomcat,這樣maven才能利用配置的tomcat啓動web工程。配置方式:
點擊【Windows】-【Preferences】,顯示下圖中的窗口
選擇Tomcat進行配置,版本Version6.x,選擇apache-tomcat-6.0.37所在位置,
如:D:\work\tomcat6\apache-tomcat-6.0.37-maven
保存配置,完成eclipse和tomcat的配置。
2)簡化maven的tomcat運行命令
爲了簡化maven的tomcat運行命令(如:tomcat6:run),我們需要在maven的setting.xml文件中配置一個server,內容如下:
1
2
3
4
5
|
< server > < id >tomcat6</ id > < username >admin</ username > < password >admin</ password > </ server > |
server的id爲“tomcat6”,作爲命令行的key,由於server配置要求我們指定鏈接遠程服用的帳號和密碼,所以我們這裏配置的是tomcat的用戶名和密碼(例如:admin)。
接下來我們爲tomcat配置訪問所需的用戶名和密碼,編輯tomcat-users.xml配置文件(本文默認tomcat已經安裝完畢,安裝路徑爲D:\work\tomcat6\apache-tomcat-6.0.37-maven。tomcat-users.xml文件位於tomcat安裝目錄的”\conf”目錄下),增加manager角色的用戶admin,配置方式如下:
<user username=”admin” password=”admin” roles=”manager”/>
注:此處的username和password與maven的settings中server用戶名和密碼一致。
啓動tomcat(D:\work\tomcat6\apache-tomcat-6.0.37-maven\bin\startup.bat,這裏tomcat配置的端口號爲8080),訪問“http://127.0.0.1:8081/manager/html”地址,如下圖
輸入用戶名和密碼,查看此用戶是否能夠正常訪問,顯示如下界面說明登錄成功
3)爲web工程添加tomcat插件
爲了能夠讓工程在tomcat容器中運行,我們需要在pom.xml中build工程所需要的tomcat插件,在這裏我們使用org.apache.tomcat.maven:tomcat6-maven-plugin:2.1:RELEASE實現web工程的運行。tomcat6-maven-plugin在pom.xml配置如下:
下面詳細說明tomcat插件的配置項:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
< build > < finalName >rockcms-web</ finalName > < plugins > < plugin > < groupId >org.apache.tomcat.maven</ groupId > < artifactId >tomcat6-maven-plugin</ artifactId > < version >2.1</ version > < configuration > < url >http://127.0.0.1:8081/manager</ url > < server >tomcat6</ server > < port >8081</ port > < path >/rockcms</ path > < charset >utf-8</ charset > </ configuration > </ plugin > </ plugins > </ build > |
詳細說明一下tomcat插件的configuration配置,如下:
url:tomcat管理應用的訪問路徑,用來進行tomcat鏈接
server:用於獲得maven在setting配置的遠程訪問的權限信息,如用戶名和密碼等,“tomcat6”和前面在settings.xml中配置的serverId一致。
port:端口號,8081
path:rockcms-web項目的webpath路徑
charset:字符集,utf-8
4)啓動tomcat運行web項目
在eclipse中利用maven命令啓動tomcat,運行web工程,配置方法如下:
點擊【Run】-【Debug Configurations..】,如下圖:
在”Maven Build”處添加一個調試命令,具體如下:
name:調試命令名,可以是項目名或其他
Base direcory:運行的項目位置,可以通過【Browser Workspace..】,選擇當前工作空間裏的項目,這裏爲rockcms-web項目。
Goals:執行的命令,tomcat6:run,這裏是簡化後的命令名,這也是爲什麼要配置server的原因。
點擊【Debug】按鈕,Eclipse的console窗口中會顯示啓動信息。
第一次啓動時,maven會下載tomcat插件,可能需要等待一會兒,後續再啓動則不會在下載了,會比較快。啓動成功後,訪問“http://127.0.0.1:8081/rockcms/”,則會顯示我們修改的helloworld界面。
以上內容爲在eclipse裏建立maven的web工程,並且實現了在eclipse中利用tomcat運行web工程,配置起來步驟比較多,但是環境一旦搭建完成,後續構建、發佈等工作量就會大大減少。
對於開發人員來說,我們已經有一個標準的開發環境了eclipse+tomcat+web,接下來就是編寫程序並進行調試了。