使用Eclipse構(gòu)建Maven的SpringMVC項(xiàng)目
首先Eclipse需要安裝Maven的插件,,地址:http://m2eclipse./sites/m2e。 用MyEclipse安裝Maven插件,,建出的Maven項(xiàng)目有些問題,。一是,發(fā)布tomcat的時(shí)候resources總是不會(huì)被發(fā)布到tomcat下,;二是,,把WEB-INF下的classes改到target下的classes,但是不知道為什么MyEclipse要么仍然在WEB-INF下生成class,。要么真不在WEB-INF生成classes了但是發(fā)布tomcat的時(shí)候,,class文件一個(gè)都不會(huì)給你發(fā)布過去,超級(jí)郁悶,。但是使用Eclipse構(gòu)建Maven項(xiàng)目后,,使用MyEclipse打開就沒問題了。 用maven的好處:我感覺最主要就是自動(dòng)下載jar包和它所依賴的包,,這樣可以保證了多人開發(fā)時(shí)jar版本不同的問題,。再就是文件結(jié)構(gòu)清晰,,java文件,,資源文件,測(cè)試文件都分的很清楚,。 將介紹兩種方法:一,,直接建立Maven項(xiàng)目方法;二,、建立Dynamic Web project轉(zhuǎn)成Maven項(xiàng)目方法,。 一,、直接建立Maven項(xiàng)目方法1、建立Maven項(xiàng)目接下來使用Eclipse的maven構(gòu)建一個(gè)web項(xiàng)目,,以構(gòu)建SpringMVC項(xiàng)目為例: 1.1 選擇建立Maven Project選擇File -> New -> Other,,在New窗口中選擇 Maven -> Maven Project。點(diǎn)擊newxt,。
1.2 選擇項(xiàng)目路徑Use default Workspace location默認(rèn)工作空間,。
1.3 選擇項(xiàng)目類型在Artifact Id中選擇maven-archetype-webapp
1.4 輸入Group ID和 Artifact ID,以及PackageGroup ID一般寫大項(xiàng)目名稱,。Artifact ID是子項(xiàng)目名稱,。 例如Spring的web包,Group ID:org.springframework,,artifactId:spring-web,。 Package是默認(rèn)給你建一個(gè)包,不寫也可以,。
1.5 剛建立好后的文件結(jié)構(gòu)如下圖
如果這里顯示的內(nèi)容多,,一般是Filters設(shè)置的問題?;?/SPAN>perspective為JavaEE模式,,改成Java模式就可以了。
2,、配置Maven項(xiàng)目接下來就需要更改好多配置了,。
2.1 添加Source文件夾接下來需要添加src/main/java,src/test/java ,,src/test/resources三個(gè)文件夾,。右鍵項(xiàng)目根目錄點(diǎn)擊New -> Source Folder, 建出這三個(gè)文件夾,。注意不是建普通的Folder,,而是Source Folder。
2.2 更改class路徑右鍵項(xiàng)目,,Java Build Path -> Source 下面應(yīng)該有4個(gè)文件夾。src/main/java,,src/main/resources,,src/test/java ,src/test/resources,。
雙擊每個(gè)文件夾的Output folder,,選擇路徑。 src/main/java,src/main/resources,,選擇target/classes; src/test/java ,,src/test/resources, 選擇target/test-classes;
選上Allow output folders for source folders.
在此處還要更改: 更改文件夾顯示的順序:點(diǎn)擊Order and Export。 更改JDK版本:在Libraries雙擊JRE System Library,,要1.6版本,。
2.3 把項(xiàng)目變成Dynamic Web項(xiàng)目
2.3.1 右鍵項(xiàng)目,選擇Project Facets,,點(diǎn)擊Convert to faceted from
2.3.2 配置Project Facets
更改Dynamic Web Module的Version為2.5,。(3.0為Java7的)。 如果提示錯(cuò)誤,,可能需要在Java Compiler設(shè)置Compiler compliance level 為1.6,。或者需要在此窗口的Java的Version改成1.6,。
2.3.3 配置 Modify Faceted Project點(diǎn)擊Further configuration available…,,彈出Modify Faceted Project窗口 此處是設(shè)置web.xml文件的路徑,我們輸入src/main/webapp,。 Generate web.xml deployment descriptor自動(dòng)生成web.xml文件,,可選可不選。
2.4 設(shè)置部署程序集(Web Deployment Assembly)
上面步驟設(shè)置完成后,,點(diǎn)擊OK,,Properties窗口會(huì)關(guān)閉,在右鍵項(xiàng)目打開此窗口,。在左側(cè)列表中會(huì)出現(xiàn)一個(gè)Deployment Assembly,,點(diǎn)擊進(jìn)去后,如下圖:
此處列表是,,部署項(xiàng)目時(shí),,文件發(fā)布的路徑。 1,,我們刪除test的兩項(xiàng),,因?yàn)閠est是測(cè)試使用,并不需要部署,。 2,,設(shè)置將Maven的jar包發(fā)布到lib下。 Add -> Java Build Path Entries -> Maven Dependencies -> Finish 設(shè)置完成效果圖
3,、向maven項(xiàng)目中添加jar包maven可以管理項(xiàng)目依賴的jar包,,通過groupID、artifactId以及版本號(hào)可以唯一確定一個(gè)jar包,。這樣可以防止老式Web項(xiàng)目中WEB-INF/lib下jar包不一致的問題,。并且maven還會(huì)自動(dòng)下載添加進(jìn)的jar包所依賴的jar包。
3.1 在pom.xml中添加所需要的jar包使用Maven POM editor打開項(xiàng)目中的pom.xml文件,,選擇Dependencies,,在Dependencies欄目點(diǎn)擊Add進(jìn)行,首先彈出一個(gè)搜索按鈕,,例如輸入spring-web,就會(huì)自動(dòng)搜索關(guān)于spring-web相關(guān)的jar包,,我們選擇3.0.5版本的spring。將spring包全部添加進(jìn)來,。需要添加的其他jar包有:junit,、jstl?;蛘唿c(diǎn)擊pom.xml直接編輯pom.xml文件,。這樣可以直接copy過來dependencies內(nèi)容。 3.2設(shè)置jar包的scope
當(dāng)添加進(jìn)入一個(gè)jar包后,,有一些屬性需要設(shè)置,,最重要的就是scope,它有以下幾種取值: 1. compile,,缺省值,,適用于所有階段,會(huì)隨著項(xiàng)目一起發(fā)布,。 2. provided,,類似compile,期望JDK,、容器或使用者會(huì)提供這個(gè)依賴,。如servlet.jar。 3. runtime,,只在運(yùn)行時(shí)使用,,如JDBC驅(qū)動(dòng),適用運(yùn)行和測(cè)試階段,。 4. test,,只在測(cè)試時(shí)使用,用于編譯和運(yùn)行測(cè)試代碼,。不會(huì)隨項(xiàng)目發(fā)布,。 5. system,類似provided,,需要顯式提供包含依賴的jar,,Maven不會(huì)在 Repository中查找它。
通常SpringMVC項(xiàng)目所需要配置scope的jar包如下圖:
有的時(shí)候發(fā)現(xiàn)servlet-api還是被打包到lib下面了,,此時(shí)肯定會(huì)報(bào)錯(cuò),。就需要把maven插件中的WTP也安裝一下。 Eclipse在線安裝路徑:http://m2eclipse./sites/m2e-extras。選擇for Eclipse WTP,。
4,、構(gòu)建SpringMVC框架
4.1 編輯web.xml文件
需要添加log4j,字符過濾,,Spring 的dispatcher等,。 webx.xml代碼如下:
4.2 編寫Spring配置文件dispatcher-servlet.xml
如要添加MVC驅(qū)動(dòng),、注解檢測(cè),、視圖解析等。dispatcher-servlet.xml代碼如下:
4.3 編寫一個(gè)Controller層測(cè)試類
編寫一個(gè)SpringMVC的Controller層測(cè)試類,。此類只有一個(gè)方法做地址映射,,并向頁面?zhèn)鬟f一個(gè)數(shù)據(jù)。代碼如下:
4.4 編寫index.jsp頁面首先在src/main/webapp/WEB-INF下建文件夾views,。此處和dispatcher-servlet.xml配置文件中的prefix屬性路徑要一樣,。 在views下建index.jsp文件 我們使用jstl獲取Controlleradd的數(shù)據(jù)。 Jsp頁面代碼如下:
5,,發(fā)布到tomcat這個(gè)就沒啥說的了,。 Eclipse下Tomcat常用設(shè)置:http://limingnihao./admin/blogs/825394
6,測(cè)試訪問地址:http://localhost:8080/liming.maven.example/index.do 訪問的結(jié)果來個(gè)截圖:
二,、建立Dynamic Web project轉(zhuǎn)成Maven項(xiàng)目方法7,、第二種方法DynamicWeb項(xiàng)目轉(zhuǎn)成Mavan7.1 新建Dynamic Web Project依次選擇選擇File -> New -> Other。在New窗口中選擇Web下的Dynamic Web Project,。點(diǎn)擊next,。
7.2 配置項(xiàng)目信息7.2.1 輸入項(xiàng)目信息首先輸入項(xiàng)目名稱。 Target runtime 一般選擇使用什么容器,,tomcat之類的,。可以先不選,。 Dynamic web module version,。就是版本號(hào)。選擇2.5(3.0是Java7的),。 Configuration 是選擇容易的配置,。如果Target runtime選擇了tomcat。這里對(duì)應(yīng)也是選擇tomcat,。 Next,。 7.2.2 配置source和output的folder此窗口輸入需要建立的Source folders。和默認(rèn)output folder,。 這個(gè)我們的Source folders等建立完項(xiàng)目后在添加,。 output folder可以順手改成target/classes,。
7.2.3 配置web.xml文件的路徑
7.3 轉(zhuǎn)成maven項(xiàng)目Dynamic web項(xiàng)目建立完后,首先將其轉(zhuǎn)成maven項(xiàng)目,。 右鍵此項(xiàng)目,,選擇maven -> Enable Dependency Management。彈出的窗口,,直接finish就可以了。
7.4 其他配置接下來的配置工作就和前面的基本一樣了,。 請(qǐng)參考上面,。 2.1添加Source文件夾 2.2更改class路徑。 2.3.3 配置 Modify Faceted Project 2.4 設(shè)置部署程序集(Web Deployment Assembly)
接著就是構(gòu)建SpringMVC框架,,發(fā)布到tomcat,,測(cè)試。
|
|