更新時(shí)間:2018-09-12 來(lái)源:黑馬程序員JavaEE培訓(xùn)學(xué)院 瀏覽量:
JavaEE就業(yè)筆記串講---Maven-part2
1Maven依賴(lài)管理
1.1坐標(biāo)定義
maven對(duì)每個(gè)工程通過(guò)坐標(biāo)管理。
groupId:定義當(dāng)前Maven項(xiàng)目名稱(chēng)
artifactId:定義項(xiàng)目模塊
version:定義當(dāng)前項(xiàng)目的當(dāng)前版本
1.2查詢(xún)其它構(gòu)件的坐標(biāo)
1、通過(guò)互聯(lián)網(wǎng)搜索
2、通過(guò)本地倉(cāng)庫(kù)搜索(學(xué)習(xí))
依賴(lài)范圍scope(重點(diǎn)理解)
1、compile 編譯、測(cè)試、運(yùn)行,A在編譯時(shí)依賴(lài)B,并且在測(cè)試和運(yùn)行時(shí)也依賴(lài)。
strus-core、spring-beans
打到war包或jar包。
2、provided 編譯、和測(cè)試有效,A在編譯和測(cè)試時(shí)需要B。
比如:servlet-api就是編譯和測(cè)試有用,在運(yùn)行時(shí)不用(tomcat容器已提供)。
不會(huì)打到war。
3、runtime:測(cè)試、運(yùn)行有效。
比如:jdbc驅(qū)動(dòng)包 ,在開(kāi)發(fā)代碼中針對(duì)java的jdbc接口開(kāi)發(fā),編譯不用。
在運(yùn)行和測(cè)試時(shí)需要通過(guò)jdbc驅(qū)動(dòng)包(mysql驅(qū)動(dòng))連接數(shù)據(jù)庫(kù),需要的?。?/p>
會(huì)打到war。
4、test:只是測(cè)試有效,只在單元測(cè)試類(lèi)中用。
比如:junit
不會(huì)打到war。
按照依賴(lài)強(qiáng)度,由強(qiáng)到弱來(lái)排序:(理解)
compile> provided> runtime> test
1.3傳遞依賴(lài)(理解)
1.3.1什么傳遞依賴(lài)
A依賴(lài)B,B依賴(lài)C,在A中加入B的坐標(biāo),自動(dòng)導(dǎo)入C的jar包,稱(chēng)C為A傳遞依賴(lài)。
1.3.2傳遞依賴(lài)與范圍(理解)
1、縱坐標(biāo):直接依賴(lài)
A依賴(lài)B,B是A的直接依賴(lài)。
在A的pom.xml中添加B的坐標(biāo)。
2、橫坐標(biāo):傳遞依賴(lài)
B依賴(lài)C,C是A的傳遞依賴(lài)。
3、中間部分:傳遞依賴(lài)的范圍,A依賴(lài)C的范圍。
1.4小結(jié)
maven是項(xiàng)目管理工具,使用maven進(jìn)行java項(xiàng)目構(gòu)建!
每個(gè)maven工程包括一個(gè)pom.xml文件。
pom.xml基本配置:
1、坐標(biāo)
groupid 項(xiàng)目名稱(chēng)
artifactid:模塊名稱(chēng)
version:模塊版本
2、依賴(lài)管理
dependency
groupid 項(xiàng)目名稱(chēng)
artifactid:模塊名稱(chēng)
version:模塊版本
3、build,構(gòu)建配置
主要配置插件,編譯、tomcat插件。
maven的運(yùn)行依賴(lài)倉(cāng)庫(kù)包括:
1、本地倉(cāng)庫(kù),緩存
2、遠(yuǎn)程倉(cāng)庫(kù)
3、中央倉(cāng)庫(kù),是特殊的遠(yuǎn)程倉(cāng)庫(kù),是maven軟件默認(rèn)遠(yuǎn)程倉(cāng)庫(kù)的地址
當(dāng)向工程加入一個(gè)依賴(lài),先從本地倉(cāng)庫(kù)找,如果找不到再?gòu)倪h(yuǎn)程倉(cāng)庫(kù)找。
依賴(lài)管理:
1、依賴(lài)范圍
由強(qiáng)到弱:compile(編譯、測(cè)試、運(yùn)行有效)》provided(編譯、測(cè)試)》runtime(測(cè)試、運(yùn)行有效)》test(測(cè)試)
2、傳遞依賴(lài)
A依賴(lài)B,B依賴(lài)C,C就是A的傳遞依賴(lài)。
3、傳遞依賴(lài)范圍
1.5依賴(lài)版本沖突解決
1.5.1依賴(lài)調(diào)解原則(了解)
maven自己提供依賴(lài)調(diào)解原則:
1、第一聲明者優(yōu)先原則
2、路徑近者優(yōu)先原則
1.5.2鎖定版本(推薦使用)
2使用maven構(gòu)建ssh整合工程
2.1創(chuàng)建maven(web工程)
2.1.1選擇原型,web工程要選擇webapp.
2.1.2引入servlet-api的jar
2.1.3修改web.xml
[XML] 純文本查看 復(fù)制代碼
?
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [url=http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd]http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd[/url]"
id="WebApp_ID" version="2.5">
</web-app>
2.2準(zhǔn)備環(huán)境
數(shù)據(jù)庫(kù)環(huán)境:
創(chuàng)建maven數(shù)據(jù)庫(kù):
導(dǎo)入腳本
2.3pom.xml(重點(diǎn))
加入各層依賴(lài)jar包:
1)鎖定依賴(lài)構(gòu)件的版本
2)添加依賴(lài)
2.4工程結(jié)構(gòu)
2.5運(yùn)行web工程
tomcat:run:使用tomcat6和maven集成插件運(yùn)行。
首發(fā):http://java.itheima.com/