java mawen介绍_Maven的介绍及使用
一、Maven簡介
Maven 是一個項目管理工具,可以對Java項目進行構建、依賴管理,是一個自動化構建工具。
自動化構建工具:將原材料(java、js、css、html....)->產品(可發布項目)
編譯-打包-部署-測試->自動構建
Maven的作用:
1、管理jar包
增加第三方jar包(不需要自己下載jar包)
管理jar包之間的依賴關系(maven自動關聯下載所有依賴的jar包)
2、將項目拆分成若干個模塊:借助于Maven可以將一個項目拆分成多個工程。(例如愛洋蔥)
Maven能干的事情:
清理:刪除編譯的結果,為重新編譯做準備。
編譯:java->class
測試:針對于項目中的關鍵點進行測試,也可用項目中的測試代碼去測試開發代碼
報告:將測試結果進行顯示
打包:將項目中包含的多個文件壓縮成一個文件,用于安裝或部署(java項目打成一個jar包,web項目打成一個war包,父工程-pom)
安裝:將打成的包,放到本地倉庫,供其他項目使用。
部署:將打成的包,放到服務器上,準備運行。
Eclipse中的項目,要在Tomcat中運行,需要部署:
a、通過eclipse中add and remove按鈕進行部署
b、將Web項目打成一個war包,然后將該war包復制到Tomcat/webapps中即可
通常下載一個jar包,先在本地倉庫中下載,如果本地倉庫中不存在,則再聯網到中央倉庫(鏡像)去下載。
約定配置:
Maven 提倡使用一個共同的標準目錄結構,Maven使用約定優于配置的原則,大家盡可能的遵守這樣的目錄結構。如下所示:
二、Maven POM
POM(項目對象模型)是Maven工程的基本工作單元,是一個XML文件,包含了項目的基本信息,用于描述項目如何構建,聲明項目依賴,等等。執行任務或目標時,Maven會在當前目錄中查找POM。它讀取POM,獲取所需的配置信息,然后執行目標。POM中可以指定以下配置:
項目依賴
插件
執行目標
項目構建profile
項目版本
項目開發者列表
相關郵件列表信息
在創建 POM 之前,我們首先需要描述項目組(groupId),項目的唯一ID。
所有 POM 文件都需要project元素和三個必需字段:groupId,artifactId,version。
通過groupId,artifactId,version可以在本地倉庫唯一標識一個模塊。
三、依賴
A中的某些類,需要使用B中的某些類,則稱為A依賴B
在maven項目中,如果要使用一個當時不存在的jar或模塊,則可以通過依賴實現(去本地倉庫、遠程倉庫去尋找)
1、依賴的范圍、依賴的有效性:
Compile(默認) ?test ?provided
2、依賴排除
3、依賴的傳遞性
A.jar->B.jar->C.jar
要使A.jar->C.jar:當且僅當B.jar依賴于C.jar的范圍是compile
多個maven項目(模塊)之間如何依賴:p項目
p項目install到本地倉庫
q項目依賴,在pom.xml中放入p項目的坐標:
1
2
3 aa.test
4
5 HelloWorld
6
7 0.0.1-SNAPSHOT
8
9
4、依賴原則
a、最短路徑優先原則
b、路徑長度相同:
i、在同一個pom.xml文件中有2個相同的依賴,則后面的依賴會覆蓋前面的 依賴(嚴禁使用本情況)
ii、如果是不同的pom.xml中有2個相同的依賴,則先聲明的依賴會覆蓋后 聲明的依賴
改eclipse中jdk的版本:
在maven的安裝目錄中,打開setting.xml,在節點下,加入以下代碼:
1
2
3 jdk-1.8
4
5
6
7 true
8
9 1.8
10
11
12
13
14
15 1.8
16
17 1.8
18
19
20 1.8
21
22
23
24
然后再在eclipse中創建maven工程時,jdk就是1.8的了。
改pom.xml文件中的依賴的版本:
首先在根節點中插入節點,然后在這個節點里,添加類似這樣的版本號信息:
4.1.5.RELEASE
3.6.2
UTF-8(這個是文件的編碼)
然后在依賴中,寫成以下形式(類似于EL表達式):
1
2
3 org.springframework
4
5 spring-context
6
7 ${spring.version}
8
9
四、命令
執行mvn命令:必須在pom.xml所在目錄執行
Maven常見命令:
mvn compile --只編譯main目錄中的java文件
mvn test ?測試,運行的是test/java中的代碼
mvn package 打成jar/war包,放在項目的target文件夾中
mvn install 將開發的模塊放入本地倉庫,供其他模塊使用(放入的位置,是通過gav決定)
mvn clean 刪除target目錄(刪除編譯文件目錄)
mvn deploy 將項目部署到Tomcat中,然后即可運行。
在eclipse中創建maven工程:
1、配置maven:
配置maven版本(不用自帶的,用自己安裝的)
配置本地倉庫:設置settings.xml
如果執行package命令,則依次執行resources、compile、test、package命令。
Maven生命周期:
生命周期中的順序:a b c d e
當我們執行c命令,則實際執行的是a b c
生命周期包含的階段:3個階段
clean 生命周期:清理
pre-clean clean post-clean
default ?生命周期:默認
site 生命周期:站點
pre-site site post-site site-deploy
五、繼承
使用繼承,可以通過父工程,統一管理依賴的版本。
1、創建父工程:父工程的打包方式為pom
2、在父工程的pom.xml中編寫依賴:
1
2
3
4 ......5
6
7
3、在子工程中加入父工程的gav(寫在標簽中)。
4、在子工程的pom.xml中寫入../B/pom.xml(子工程pom相對于父工程pom的相對路徑)
5、在子工程中需要聲明:使用父工程的哪些依賴:
..
..
(只需要ga,不需要v了)
六、聚合
Maven2項目依賴于maven1項目,則在執行時,必須先將maven1加入到本地倉庫中(install),之后才能執行maven2。
以上前置工程(maven1)的install操作,可以交由“聚合”一次性搞定。
聚合的使用:
在一個總工程中配置聚合:(聚合的配置,只能配置在打包方式為pom的Maven工程中)
1
2
3
4
5 ../Maven1
6
7 ../Maven2
8
9
配置完聚合之后,以后只要操作總工程,則會自動操作總工程中配置過的工程。(只要install了總工程,則子工程都會install)
七、部署
正常部署:
首先將maven的web項目打包(打成war包,結果在項目根目錄的target文件夾里),然后將war包復制到tomcat的webapps文件夾中,啟動tomcat即可運行。
Maven部署:
1、配置cargo
在pom.xml中加入以下內容:
1
2
3 MyWebProject
4
5
6
7
8
9 org.codehaus.cargo
10
11 cargo-maven2-plugin
12
13 1.4.9
14
15
16
17
18
19 tomcat8x
20
21 E:\Tomcat 9\apache-tomcat-9.0.14
22
23
24
25
26
27 existing
28
29 E:\Tomcat 9\apache-tomcat-9.0.14
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 cargo-run
48
49 install
50
51
52
53 run
54
55
56
57
58
59
60
61
62
63
64
65
2、Maven命令:deploy
然后run as->maven build...->deploy,然后打開瀏覽器,輸入localhost:8080/項目名稱/,即可運行。
總結
以上是生活随笔為你收集整理的java mawen介绍_Maven的介绍及使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java对cpu线程的要求_java-C
- 下一篇: gview java_java - 如