1. 程式人生 > >使用Eclipse構建Maven的SpringMVC專案

使用Eclipse構建Maven的SpringMVC專案

       首先Eclipse需要安裝Maven的外掛,地址:http://m2eclipse.sonatype.org/sites/m2e。

        用MyEclipse安裝Maven外掛,建出的Maven專案有些問題。一是,釋出tomcat的時候resources總是不會被髮布到tomcat下;二是,把WEB-INF下的classes改到target下的classes,但是不知道為什麼MyEclipse要麼仍然在WEB-INF下生成class。要麼真不在WEB-INF生成classes了但是釋出tomcat的時候,class檔案一個都不會給你釋出過去,超級鬱悶。但是使用Eclipse構建Maven專案後,使用MyEclipse開啟就沒問題了。

        用maven的好處:我感覺最主要就是自動下載jar包和它所依賴的包,這樣可以保證了多人開發時jar版本不同的問題。再就是檔案結構清晰,java檔案,資原始檔,測試檔案都分的很清楚。

        將介紹兩種方法:一,直接建立Maven專案方法;二、建立Dynamic Web project轉成Maven專案方法。

一、直接建立Maven專案方法

1、建立Maven專案

        接下來使用Eclipse的maven構建一個web專案,以構建SpringMVC專案為例:

1.1 選擇建立Maven Project

選擇File -> New -> Other,在New視窗中選擇 Maven -> Maven Project。點選newxt。


1.2 選擇專案路徑

Use default Workspace location預設工作空間。


1.3 選擇專案型別

在Artifact Id中選擇maven-archetype-webapp


1.4 輸入Group ID和 Artifact ID,以及Package

Group ID一般寫大專案名稱。Artifact ID是子專案名稱。

例如Spring的web包,Group ID:org.springframework,artifactId:spring-web。

Package是預設給你建一個包,不寫也可以。


1.5 剛建立好後的檔案結構如下圖


如果這裡顯示的內容多,一般是Filters設定的問題。或perspective為JavaEE模式,改成Java模式就可以了。

2、配置Maven專案

接下來就需要更改好多配置了。

2.1 新增Source資料夾

接下來需要新增src/main/java,src/test/java ,src/test/resources三個資料夾。右鍵專案根目錄點選New -> Source Folder,

建出這三個資料夾。注意不是建普通的Folder,而是Source Folder。



2.2 更改class路徑

右鍵專案,Java Build Path -> Source

下面應該有4個資料夾。src/main/java,src/main/resources,src/test/java ,src/test/resources。

雙擊每個資料夾的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.

在此處還要更改:

更改資料夾顯示的順序:點選Order and Export。

更改JDK版本:在Libraries雙擊JRE System Library,要1.6版本。


2.3 把專案變成Dynamic Web專案

2.3.1 右鍵專案,選擇Project Facets,點選Convert to faceted from


2.3.2 配置Project Facets

更改Dynamic Web Module的Version為2.5。(3.0為Java7的)。

如果提示錯誤,可能需要在Java Compiler設定Compiler compliance level 為1.6。或者需要在此視窗的Java的Version改成1.6。


2.3.3 配置 Modify Faceted Project

點選Further configuration available…,彈出Modify Faceted Project視窗

此處是設定web.xml檔案的路徑,我們輸入src/main/webapp。

Generate web.xml deployment descriptor自動生成web.xml檔案,可選可不選。

2.4 設定部署程式集(Web Deployment Assembly)

上面步驟設定完成後,點選OK,Properties視窗會關閉,在右鍵專案開啟此視窗。在左側列表中會出現一個Deployment Assembly,點選進去後,如下圖:


此處列表是,部署專案時,檔案釋出的路徑。

1,我們刪除test的兩項,因為test是測試使用,並不需要部署。

2,設定將Maven的jar包釋出到lib下。

Add -> Java Build Path Entries -> Maven Dependencies -> Finish

設定完成效果圖


3、向maven專案中新增jar包

maven可以管理專案依賴的jar包,通過groupID、artifactId以及版本號可以唯一確定一個jar包。這樣可以防止老式Web專案中WEB-INF/lib下jar包不一致的問題。並且maven還會自動下載新增進的jar包所依賴的jar包。

3.1 在pom.xml中新增所需要的jar包

使用Maven POM editor開啟專案中的pom.xml檔案,選擇Dependencies,在Dependencies欄目點選Add進行,首先彈出一個搜尋按鈕,例如輸入spring-web,就會自動搜尋關於spring-web相關的jar包,我們選擇3.0.5版本的spring。將spring包全部新增進來。需要新增的其他jar包有:junit、jstl。或者點選pom.xml直接編輯pom.xml檔案。這樣可以直接copy過來dependencies內容。


3.2設定jar包的scope

當新增進入一個jar包後,有一些屬性需要設定,最重要的就是scope,它有以下幾種取值:

1.         compile,預設值,適用於所有階段,會隨著專案一起釋出。

2.         provided,類似compile,期望JDK、容器或使用者會提供這個依賴。如servlet.jar。

3.         runtime,只在執行時使用,如JDBC驅動,適用執行和測試階段。

4.         test,只在測試時使用,用於編譯和執行測試程式碼。不會隨專案釋出。

5.         system,類似provided,需要顯式提供包含依賴的jar,Maven不會在 Repository中查詢它。

通常SpringMVC專案所需要配置scope的jar包如下圖:


有的時候發現servlet-api還是被打包到lib下面了,此時肯定會報錯。就需要把maven外掛中的WTP也安裝一下。

Eclipse線上安裝路徑:http://m2eclipse.sonatype.org/sites/m2e-extras。選擇for Eclipse WTP。


4、構建SpringMVC框架

4.1 編輯web.xml檔案

需要新增log4j,字元過濾,Spring 的dispatcher等。

webx.xml程式碼如下:

Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"   
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  5.                              http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"   
  6.          version="2.5" >  
  7.     <!-- 區分專案名稱,防止預設重名 -->  
  8.     <context-param>  
  9.         <param-name>webAppRootKey</param-name>  
  10.         <param-value>maven.example.root</param-value>  
  11.     </context-param>  
  12.     <!-- Spring的log4j監聽器 -->  
  13.     <listener>  
  14.         <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  15.     </listener>  
  16.     <!-- 字符集 過濾器  -->  
  17.     <filter>  
  18.         <filter-name>CharacterEncodingFilter</filter-name>  
  19.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
  20.         <init-param>  
  21.             <param-name>encoding</param-name>  
  22.             <param-value>UTF-8</param-value>  
  23.         </init-param>  
  24.         <init-param>  
  25.             <param-name>forceEncoding</param-name>  
  26.             <param-value>true</param-value>  
  27.         </init-param>  
  28.     </filter>  
  29.     <filter-mapping>  
  30.         <filter-name>CharacterEncodingFilter</filter-name>  
  31.         <url-pattern>/*</url-pattern>  
  32.     </filter-mapping>  
  33.     <!-- Spring view分發器 -->  
  34.     <servlet>  
  35.         <servlet-name>dispatcher</servlet-name>  
  36.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  37.         <init-param>  
  38.             <param-name>contextConfigLocation</param-name>  
  39.             <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>  
  40.         </init-param>  
  41.         <load-on-startup>1</load-on-startup>  
  42.     </servlet>  
  43.     <servlet-mapping>  
  44.         <servlet-name>dispatcher</servlet-name>  
  45.         <url-pattern>*.do</url-pattern>  
  46.     </servlet-mapping>  
  47. </web-app>  
 

4.2 編寫Spring配置檔案dispatcher-servlet.xml

如要新增MVC驅動、註解檢測、檢視解析等。dispatcher-servlet.xml程式碼如下:

Xml程式碼  收藏程式碼
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"   
  3.        xmlns:aop="http://www.springframework.org/schema/aop"   
  4.        xmlns:context="http://www.springframework.org/schema/context"  
  5.        xmlns:mvc="http://www.springframework.org/schema/mvc"   
  6.        xmlns:tx="http://www.springframework.org/schema/tx"   
  7.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  8.        xsi:schemaLocation="http://www.springframework.org/schema/aop   
  9.         http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
  10.         http://www.springframework.org/schema/beans   
  11.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
  12.         http://www.springframework.org/schema/context   
  13.         http://www.springframework.org/schema/context/spring-context-3.0.xsd   
  14.         http://www.springframework.org/schema/mvc   
  15.         http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd   
  16.         http://www.springframework.org/schema/tx   
  17.         http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">  
  18.     <mvc:annotation-driven />  
  19.     <context:component-scan base-package="liming.maven.example" />  
  20.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  21.         <property name="prefix" value="/WEB-INF/views/" />  
  22.         <property name="suffix" value=".jsp" />  
  23.     </bean>  
  24. </beans>  
 

4.3 編寫一個Controller層測試類

編寫一個SpringMVC的Controller層測試類。此類只有一個方法做地址對映,並向頁面傳遞一個數據。程式碼如下:

Java程式碼  收藏程式碼
  1. package liming.maven.example.view;  
  2. import org.springframework.stereotype.Controller;  
  3. import org.springframework.ui.Model;  
  4. import org.springframework.web.bind.annotation.RequestMapping;  
  5. @Controller  
  6. public class GeneralController {  
  7.     @RequestMapping(value="index.do")  
  8.     public void index_jsp(Model model){  
  9.         model.addAttribute("liming", "黎明你好");  
  10.         System.out.println("index.jsp");  
  11.     }  
  12. }  
 

4.4 編寫index.jsp頁面

首先在src/main/webapp/WEB-INF下建資料夾views。此處和dispatcher-servlet.xml配置檔案中的prefix屬性路徑要一樣。

在views下建index.jsp檔案

我們使用jstl獲取Controlleradd的資料。

Jsp頁面程式碼如下:

Html程式碼  收藏程式碼
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>  
  2. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  4. <html>  
  5.     <head>  
  6.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  7.         <title>Insert title here</title>  
  8.     </head>  
  9.     <body>  
  10.         <c:out value="${liming}"></c:out>  
  11.     </body>  
  12. </html>  
 

5,釋出到tomcat

這個就沒啥說的了。

Eclipse下Tomcat常用設定:http://limingnihao.iteye.com/admin/blogs/825394

6,測試

訪問地址:http://localhost:8080/liming.maven.example/index.do

訪問的結果來個截圖:


二、建立Dynamic Web project轉成Maven專案方法

7、第二種方法DynamicWeb專案轉成Mavan

7.1 新建Dynamic Web Project

依次選擇選擇File -> New -> Other。在New視窗中選擇Web下的Dynamic Web Project。點選next。


7.2 配置專案資訊

7.2.1 輸入專案資訊

首先輸入專案名稱。

Target runtime 一般選擇使用什麼容器,tomcat之類的。可以先不選。

Dynamic web module version。就是版本號。選擇2.5(3.0是Java7的)。

Configuration 是選擇容易的配置。如果Target runtime選擇了tomcat。這裡對應也是選擇tomcat。

Next。


7.2.2 配置source和output的folder

此視窗輸入需要建立的Source folders。和預設output folder。

這個我們的Source folders等建立完專案後在新增。

output folder可以順手改成target/classes。


7.2.3 配置web.xml檔案的路徑


7.3 轉成maven專案

Dynamic web專案建立完後,首先將其轉成maven專案。

右鍵此專案,選擇maven -> Enable Dependency Management。彈出的視窗,直接finish就可以了。


7.4 其他配置

接下來的配置工作就和前面的基本一樣了。

請參考上面。

2.1新增Source資料夾

2.2更改class路徑。

2.3.3 配置 Modify Faceted Project

2.4 設定部署程式集(Web Deployment Assembly)

接著就是構建SpringMVC框架,釋出到tomcat,測試。

相關推薦

Eclipse構建Ant專案

1、用 Ant 來構建簡單系統  新建一個 Java project, 命名為Hello  Hello .java 檔案內容 package example; public class Hello {     public static voi

電子商城後臺系統(一):使用eclipse構建web專案

使用eclipse構建web專案,需要有eclipse和tomcat,兩者的安裝也非常的簡單,解壓就可以了,我這裡使用的tomcat是7.0版本的。解壓之後,目錄是這樣的 進入到bin目錄,雙擊startup.bat,啟動tomcat,當然,前提是安裝了jdk。 控制檯出現這樣的

eclipse構建maven專案,以及建立完成後pom檔案報錯

Description Resource Path Location Type  Could not calculate build plan: Failure to transfer org.apache.maven.plugins:maven-war-plugin:pom:2.1.1 from http:

使用Eclipse構建Maven專案

1. 安裝m2eclipse外掛 要用Eclipse構建Maven專案,我們需要先安裝meeclipse外掛 點選eclipse選單欄Help->Eclipse Marketplace搜尋到外掛Maven Integration for Eclipse 並點選安

eclipse構建maven專案注意事項

eclipse建立一個maven專案後,新增web專案的支援這時候,maven專案也許不能釋出到tomcat中,這時,需要檢視Deployment Assembly,是否有/src/main/webapp,沒有就add一個,Deploy Path指向/  ,同時也要檢查mav

Eclipse構建Maven專案

文章主要介紹了Maven的基本配置,包括Maven環境變數、Maven倉庫設定,以及在Eclipse中加入Maven進行構建Maven專案,提出了過程中遇到問題的解決辦法。一步一步詳細的介紹了其過程。根據個人在構建過程中的記錄以及藉著網上的幫助編寫了這篇文章。少

Eclipse構建Maven專案的完整過程--普通web專案

寫在前面:我知道有不少小夥伴都希望直接拿到demo,所以開發視訊教程和運用Demo下載    使用微信關注微信掃一掃,全套資料拿走不謝,拿到資料之後回來報個到。如有疑問新增微信news_vision一一處理。最快捷的我只能幫你到這裡了然後劃重點:    進行以下步驟的前提是你

Eclipse 構建Maven專案詳細流程(圖文並茂)

寫一點實用的東西,構建Maven專案工具 JDK7+EclipseIDE+Tomcat7.0.55++mybatis3+Maven3.2.2JDK 下載地址http://www.oracle.com/technetwork/java/javase/downloads/inde

構建Maven專案的完整過程--普通web專案Eclipse

進行以下步驟的前提是你已經安裝好本地maven庫和eclipse中的maven外掛了(有的eclipse中已經集成了maven外掛) 一、Maven專案的新建 1、滑鼠右鍵---->New----->Other... 2、直接點選下一步 3、選中 m

Eclipse下用maven構建Struts專案,實現簡單的登入及驗證。

點選File->new->Maven Project. 右鍵所建立的專案->點選Properties->點選Java Build Path將JDK改成所需要的版本 然後點選Project Facets先改Java,再改Dynamic Web Mod

eclipse構建Maven專案管理工具

1、什麼是Maven? Maven是一個專案管理和綜合工具,它包含了一個專案物件模型 (Project Object Model),一組標準集合,一個專案生命週期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來執

Eclipse Maven構建WebApp專案資源目錄顯示不全的原因與解決方式

一、問題展示        1、Eclipse在使用Maven構建WebApp專案的時候,首先Maven的安裝和配置都沒有問題的,但是構建專案之後,Maven專案要求的幾個必須要有的資源目錄顯示不了:

STS(Eclipse)構建Maven多模組專案(水平結構和樹形結構)

在配置完Java開發環境和MAVEN後,我們來建立專案 STS(Eclipse)下載 請到官網http://spring.io/tools/sts/all/ 下載STS最新版 然後放到G盤,然後解壓到當前 G:\sts-bundle\

eclipse構建及執行maven web專案

1:環境 eclipse indigo, JDK1.6, maven 3.2.1, tomcat7.0.42 2:安裝eclipse maven外掛 m2eclipse 第一種方法:從網上下載m2eclipse,這個網上有很多下載的地方。然後放到eclipse安裝目錄的pl

Eclipse中使用maven構建web專案中遇到的問題

構建過程參考: 構建過程中遇到的問題: 1. 配置專案新增src/main/java,src/test/java,src/test/resources時,顯示檔案已存在。 解決辦法:專案在Navigator檢視下加上三個資料夾,專案根目錄右擊—Properities—

使用eclipse搭建maven多module專案(構建父子專案java子專案和web子專案)

1、建立空的Maven專案File–>new–>project–>Maven Project...2、next3、finish4、配置pom<?xml version="1.0" encoding="UTF-8"?> <project xm

利用Eclipse中的Maven構建Web專案報錯(二)

利用Eclipse中的Maven構建Web專案 1、錯誤描述 [INFO] Scanning for projects... [INFO] [INFO] Using the builder org.apache.maven.lifecycle.internal.bui

SpringMVC構建REST介面:第一篇 使用Eclipse構建Maven的SpringMVC專案

接下來需要新增src/main/java,src/test/java ,src/test/resources三個資料夾。右鍵專案根目錄點選New -> Source Folder, 建出這三個資料夾。注意不是建普通的Folder,而是Source Folder。圖2-1 圖2-1 另外還有

如何使用Maven和eclipse構建大資料開發框架專案

作為大資料開發者,特別是開發大資料應用程式的程式設計師或者框架師,在進行大資料專案開發,或者是研讀原始碼,的把相應的專案匯入到整合開發環境,本文用Maven和eclipse來構建大資料開發框架專案。比如說開發storm專案、Hadoop專案、Spark專案等,本文以構建st

eclipse 使用maven 構建web專案 簡單例子

1.建立Maven專案: 點選“File”選單,或者通過工具欄的“New”建立Project,如下圖所示: 選擇Maven-》Maven Project,彈出嚮導對話方塊,如下圖所示: 選中Create a simple project……複選框,其它的設定不變,並點選Ne