一、什麼是Maven? 有什麼用?
1.Maven的作用
i.增加第三方Jar (commons-fileupload.jar commons-io.jar)
ii.jar包之間的依賴關係 (commons-fileupload.jar 自動關聯下載所有依賴的Jar,並且不會衝突)
b.將項目拆分成若干個模塊
2.Maven概念:
是一個基於Java平臺的 自動化構建工具
make-ant-maven-gradle
3.常用命令
清理(clean):刪除編譯的結果,爲重新編譯做準備。clean
編譯(compile):java->class compile
測試(test): 針對於 項目中的關鍵點進行測試,亦可用 項目中的測試代碼 去測試開發代碼;test
報告:將測試的結果 進行顯示
打包(package): 將項目中包含的多個文件 壓縮成一個文件, 用於安裝或部署。 (java項目-jar、web項目-war)package
安裝(install):將打成的包 放到 本地倉庫,供其他項目使用。 install
部署(deploy):將打成的包 放到 服務器上準備運行。
二、Maven操作
1) 依賴:
i.jar包依賴:(配置pom.xml文件)
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
</dependency>
</dependencies>
ii.依賴其他maven項目:
有兩個Maven項目 一個爲A ,一個爲B,B依賴A
1.首先將A通過package打包爲jar,隨後通過install將A 放入到自己的本地廠庫中。
2.通過配置B的pom.xml引入依賴:(g a v)
<dependencies>
<dependency>
<groupId>org.skh.maven</groupId>
<artifactId>A</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
3.update B項目。
2) 繼承
1.建立父工程: 父工程的打包方式爲pom 而不再是jar形式
2.在父工程的pom.xml中編寫依賴:
<dependencyManagement>
<dependencies>
<dependency>
3.子類:
<!-- 給當前工程 繼承一個父工程:1加入父工程座標gav 2當前工程的Pom.xml到父工程的Pom.xml之間的 相對路徑 -->
<parent>
<!-- 1加入父工程座標gav -->
<groupId>org.lanqiao.maven</groupId>
<artifactId>B</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 2當前工程的Pom.xml到父工程的Pom.xml之間的 相對路徑 -->
<relativePath>../B/pom.xml</relativePath>
</parent>
4.在子類中 需要聲明 :使用那些父類的依賴
<dependency>
<!-- 聲明:需要使用到父類的junit (只需要ga) -->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
3)聚合操作:
tips:Maven將一個大工程拆分成 若干個子工程(子模塊)
聚合可以將拆分的多個子工程 合起來
1.Maven項目能夠識別的: 自身包含、本地倉庫中的,Maven2依賴於Maven1,則在執行時:必須先將Maven1加入到本地倉庫(install),之後才能執行Maven2
以上 前置工程的install操作,可以交由“聚合” 一次性搞定。。。
聚合的使用:
2.在一個總工程中配置聚合: (聚合的配置 只能配置在(打包方式爲pom)的Maven工程中)
<modules>
<!--項目的根路徑相對於當前總項目的pom文件 -->
<module>../Maven1</module>
<module>../Maven2</module>
</modules>
配置完聚合之後,以後只要操作總工程,則會自動操作 改聚合中配置過的工程
三、部署發佈Maven項目:
1.建立Maven項目。打包形式爲war,不是jar,也不是pom!
隨後將寫好的項目進行package操作,生成war文件
隨後將其放入到tomcat的webapps下,啓動startup.bat。最後便可以在瀏覽器訪問自己的項目。