一.配置Maven的環境變量
點擊“Apache-Maven官方網站”進入官網,點擊左側Download選項:
進入了下載頁面,往下拉可發現當前版本是3.3.3,點擊下面紅框中的apache-maven-3.3.9-bin.zip就可下載,下載后解壓縮到相應目錄下:
新增系統變量MAVEN_HOME:即MAVEN安裝目錄:
在Path中加入:%MAVEN_HOME%\bin;
正在上傳...取消
在cmd中輸入mvn -v,若顯示如下,則說明本地maven配置完成:
二.IDEA開發環境中搭建MAVEN
當配置完Maven之后,我們需要給Idea配置Maven,那么首先必須先要安裝Idea,Idea的安裝在這里就不累贅了,請自行百度,非常簡單,下一步下一步即可,安裝完成之后打開Idea設置Maven,如圖所示:
單擊Setting之后,設置Maven節點下的Maven home directory和user settings file和local repository ? ?如圖所示:
到這里我們整個Idea配置Maven就完成了,下面來說使用Maven開發JavaWeb項目以及使用Maven打包。
三.在IDEA中創建MAVEN項目
前面說了這么多,差不多基本的東西都保障了(前提保證你已經安裝了jdk)。現在進入正題,如何來創建一個Web項目。對于不使用Maven的開發者,可以直接建一個簡單的Web項目。使用Maven的話,請按照圖進行操作。
菜單File->New Project可進入上圖界面,首先選擇左邊欄Maven,再配置JDK(一般如果之前添加了JDK的話會自動填充,如未添加的話點擊旁邊的New將JDK目錄導入即可)。勾選“Create from archetype“,然后選中4處藍色位置webapp,點Next,進入如下界面:
這里需要填寫GroupId和ArtifactId還有Version,這三個屬性目的是標識你的項目的唯一性,比如Tomcat的GroupId是org.apache,即它是apache組織的項目,ArtifactId是tomcat,項目名為tomcat,而我當前使用的Version是7.0.68。這些只在發布時有用,在此可以隨便填寫,填好后點Next,到如下界面。
打開Maven home directory,可以發現IntelliJ IDEA已經集成了Maven 2和Maven 3兩個版本,如果使用默認集成的maven的話,選擇Buldled(Maven 3),直接點擊Next。
我們也可以導入本地新安裝的較新的Maven版本,點擊藍色箭頭右邊的 ... 按鈕將Maven路徑導入即可,點擊Next:
填寫項目名,選擇項目保存路徑,點擊Finish:
進入如下界面,maven會在后臺生成web項目,這需要等待一定的時間,視網絡環境而定,經驗發現用較新版本的maven項目生成更快,使用IDEA集成的maven可能會等待很長一段實踐。
左邊紅框中展示了該項目的文件結構。可以發現,它在src/main下創建了一個recources文件夾,該文件夾一般用來存放一些資源文件,還有一個webapp文件夾,用來存放web配置文件以及jsp頁面等,這已經組成了一個原始的web應用。選擇右邊紅框的Enable-Auto-Import,可以在每次修改pom.xml后,自動的下載并導入jar包,這一點在后面詳述。
四.MAVEN自動導入jar包
我們以SpringMVC開發為例,我們需要用到SpringMVC的相關jar包。如果不使用Maven的話,。現在使用maven的話,就不需要上網找jar包了。具體容我一一道來。
Maven所做的工作其實很簡單,就是自動把你需要的jar包下載到本地,然后關聯到項目中來。maven的所有jar包都是保存在幾個中央倉庫里面的,其中一個最常用的是Maven Repository,即,你需要什么jar包,它就會從倉庫中拿給你。那么如何告訴maven需要什么jar包呢?我們看看工程目錄,能找到一個pom.xml文件(這個文件在剛創建好項目時就已經展現在了大家面前),maven就是靠它來定義需求的,代碼如下:
4.0.0com.gaussicspringmvcdemowar1.0-SNAPSHOTspringmvcdemo?Maven?Webapphttp://maven.apache.orgjunitjunit3.8.1testspringmvcdemo
我們可以看到這個文件包含了我們之前定義的本項目的gropId等信息,這些信息是該項目的標識,我們不要去改動它們。重點看標簽,翻譯過來是”依賴“的意思,也就是說把對每個包的需求都稱為一個依賴,定義在中。在每個中,你需要提供的是所需jar包的groupId、artifactId、version這三個必要信息。比如上面我們看到引入可一個junit包,格式如下:
junitjunit3.8.1test
這是單元測試包,提供了三個基本信息,第4個scope對其他包來說是非必需的。所有jar包的引入都要滿足這個格式。那么如何查看這些jar包的3個信息呢,可能剛接觸是開發者還不是很熟悉,這個時候就需要查閱倉庫了。比如我們需要引入Spring核心jar包spring-core,打開Maven Repository,搜索spring-core,進入如下界面:
點擊進入紅框選中的Spring Core,如下所示,可以看到各版本的使用情況:
選擇最新版本4.2.5.RELEASE,可以看到其dependency寫法如下紅框所示:
我們將其復制到pom.xml中的中:
這樣,Maven就會開始自動下載jar包到本地倉庫,然后關聯到你的項目中,下載完成后,我們展開工程目錄中External Libraries:
可以發現,雖然我們只寫了一個依賴,但是它導入了兩個jar包,也就是說,導入某個jar包時,與它密切相關的jar包也會同時被導入進來。
除了spring-core,我還要spring-context,復制spring-core的,將spring-core改為spring-context,如下:
org.springframeworkspring-context4.2.5.RELEASE
下載完成后,查看External Libraries,會不會發現,瞬間導入了好多jar包(當然不是瞬間,這得看你的網速了)呢:
這就是Maven的強大之處,如果你需要使用SpringMVC開發網站的話,只需記住幾個重要的包的名字,就可以輕松將所有包導入項目中。
長話短說,現在我們要進行SpringMVC的開發,請把你的pom.xml變成下面的樣子,當然不要改你的grupId等信息(從modelVersion到url都不要動):
4.2.6.RELEASE5.1.0.Final
請在中加入以下依賴:
org.springframeworkspring-webmvc${spring.version}org.springframework.dataspring-data-jpa1.10.1.RELEASEorg.hibernatehibernate-entitymanager${hibernate.version}org.hibernatehibernate-c3p0${hibernate.version}com.mchangec3p00.9.5.2javax.servletjstl1.2mysqlmysql-connector-java5.1.39
將改成如下形式:
springmvcdemoorg.apache.maven.pluginsmaven-compiler-plugin1.81.8
我們可以發現,除了導入了spring相關jar包,還有一些其他的包,這些包都是有作用的,我們后面慢慢說。如果不使用Maven請自行下載spring、hibernate、mysql、jstl等相關jar包然后導入到工程中。至此,jar包的導入就完成了,我們按 ctrl+alt+shift+s,或者File->Project Structure查看一下項目結構,看看有什么問題:
由于之后我們要開始寫代碼了,先做一些配置,選擇Modules,在SpringMVCDemo的src\main文件夾中新建一個文件夾,取名為java:
選中java文件夾,點擊上面的Make as:Sources,該文件夾就會變成藍色,用以保存java代碼,按OK,結束配置。