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